Hardware Technology
Upcoming SlideShare
Loading in...5

Hardware Technology






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Hardware Technology Hardware Technology Presentation Transcript

  • SM3121 Hardware Technology Mark Green School of Creative Media
  • Introduction
    • Start by looking at some of the technology involved
    • Not very technical, enough to give an idea of what’s possible
    • Need to know the limitations, why things are done a particular way
  • Microprocessors
    • Need to have some type of computer, this is the heart
    • All computers have microprocessors, so what’s the difference here??
    • In computers microprocessor use lots of power, they produce lots of heat, they need fans that make lots of noise
    • Picture this in your mobile phone!
    View slide
  • Microprocessors
    • Mobile phones, PDA, etc don’t plug into the wall, they are mobile, they use batteries
    • Power is very limited, want devices to run for many hours, at least a day
    • Processors must use very little power, if device isn’t being used it should be almost nothing, but still want instant response
    View slide
  • Microprocessors
    • These devices are small
    • Can’t generate a lot of heat, can’t have a fan (won’t work with mobile phone)
    • Don’t want to hold something that is over 50C
    • Microprocessor should run cool, doesn’t need fan or cooling
    • This goes well with low power
  • Microprocessors
    • Size is also important, mobile phones need to be small
    • Need to have memory, don’t want a separate chip for this, combined with microprocessor
    • Often combine other functions that are separate chips in a PC
  • Microprocessors
    • So we aren’t going to use a 3Ghz Pentium 4 processor, but what are we going to use?
    • There are several chip families that have been developed for low power mobile applications
    • Intel and Motorola have popular lines, there are also several smaller manufacturers
  • Microprocessors
    • Cost is also very important
    • Pentium 4 chips cost more than most mobile phones
    • We need to keep costs low, implications:
      • Not as fast as PCs
      • Not as many features as PCs
      • Combine the functions of several chips onto one chip
  • Microcontrollers
    • A microcontroller is a single chip computer, it usually has:
      • Processor
      • ROM memory
      • RAM memory
      • Digital input and output
      • Analogue input and output
      • Communications to host
  • Microcontrollers
  • Microcontrollers
    • Basically have everything required to run a dedicated application, not a general purpose processor
    • Used in:
      • Toys
      • Cars
      • Appliances
      • MP3 players
      • Mobile phones
  • Microcontrollers
    • Processors are not fast, optimized for low power
    • Can have as little as 128 bytes of memory, but some have a lot more (1 Mbyte)
    • Usually have serial or USB connection to host, but some use ethernet
    • Programmed in assembler, basic or C, programs are usually quite short
  • Memory
    • Many types of memory are used in toys and gadgets, depends on the product
    • RAM: this is what we are used to on PCs, memory that we can read and write
    • ROM: read only memory, most of the software is in ROM, don’t have a disk so we need to get the software from somewhere, ROM is the standard way
  • Memory
    • Problem with ROM: written once when the chip is made, we can’t change it
    • Different from PC, easy to change software, easy to add more software
    • With ROM we are stuck with what we got
    • Can put programs in RAM, but they will be lost when the batteries run out or are changed
  • Memory
    • To develop applications we need memory we can write, and that will stay there
    • This is a common problem, so there are several solutions
    • EPROM: electrically programmable ROM, use special hardware to write contents of memory (not very expensive)
    • Some can be erased and rewritten (EEPROM)
  • Memory
    • Flash memory: a better solution, can be written many times (around 1 million) and holds its data
    • Available in a range of sizes, common sizes are 64, 128 and 256 Mbyte
    • One problem is that there are too many different standards: CF, SD, MM, etc, 5 or 6 major standards
  • Memory
    • Flash memory solves our application development problem, can be used with a range of devices:
      • Mobile phone
      • PDA
      • Gameboy
    • Write the flash memory, insert it into device and you are ready to go
  • Sensors
    • Recall the difference between analogue and digital:
      • Digital: on or off, 0 or 1, this is what a computer understands, combine bits to produce bytes, etc
      • Analogue: real continuous values, what we find in the real world, temperature, pressure, speed, cannot be understood by a computer
  • Sensors
    • Most microcontrollers have both digital and analogue I/O
    • Digital input can be used for simple sensors:
      • Switch is open or closed
      • Simple light detectors
    • Digital output can be used as a switch, turns lights on, control devices, even run motors
  • Sensors
    • Digital I/O is typically 1 bit, simple on or off
    • Analogue gets more complex, need a way of converting between digital and analogue worlds
    • A/D – analogue to digital converter, converts an analogue signal into a digital value, many ways of doing this, will only look at the very basics
  • Sensors
    • Bits per sample, precision of the value, most basic is 8 bits, analogue signal converted to a value from -128 to 127
    • 12 bit A/D converters are also common, but more expensive
    • For simple signals like light intensity, temperature, speed 8 or 12 bits is good enough, for sound need 16 bits
  • Sensors
    • Usually have more than one analogue input, but A/Ds are expensive, don’t want to have one for each input
    • Light level, temperature, speed don’t change very quickly, only need to sample a few times per second
    • Can share the A/D converter, can have multiple channels (usually 8) select channel and read the value
  • Sensors
    • D/A: digital to analogue converter
    • Usually 8 to 12 bits
    • Usually 1 or 2 per microcontroller
    • Can’t use channels, need to send a continuous analogue value to device, such as a motor or light
  • Sensors
    • What can we sense?
    • Depends upon your imagination and money
    • Easy things are light level, temperature, pressure, touch, can get relatively cheap sensors for these, $25HK range
    • Can also measure distance, range of devices for this, can be quite expensive
  • Sensors
    • Some consider cameras to be the ultimate sensor, can see everything in the environment
    • Problems:
      • Expensive compared to other sensors
      • Require a lot of processor power, we don’t have this
      • Hard to program
  • Actuators
    • Cause something to happen, our output devices
    • Could be as simple as a light
    • Digital output can be used as a switch, turn a light on or off
    • Typically low voltage off of a microcontroller, need to save power
    • Can use a relay to switch larger voltages
  • Actuators
    • Motors are common actuators
    • Several ways to control them
    • Simple motors use an analogue signal, speed controlled by voltage
    • Cheap and easy, but not very accurate
    • Can control direction and to some extent the speed, but cannot accurately determine how far it will go
  • Actuators
    • Stepper motors give us much more control, but at a price
    • Motor rotates a fixed amount each time it gets a pulse, usually quite accurate
    • The faster the pulses, the faster the motor spins, so we have some control over its speed
    • Counting pulses tells us how far we have gone
  • Displays
    • No 17” LCD monitor or CRT, way too big and requires too much power
    • Many devices don’t have displays, but they are common on mobile phones and PDAs
    • Display must be low power, or it will drain the battery
    • Also needs to be small and visible in bright environments
  • Displays
    • LCD displays require very little power, the most common form of display for small devices
    • The LCD itself doesn’t require much power, but its hard to see on its own
    • Some devices just use the LCD, like some Gameboy models, but for most people this isn’t good enough
  • Displays
    • Usually have a light behind the LCD, makes it much easier to see
    • Common on mobile phones and PDAs
    • Problem, the light requires much more power than the LCD
    • Only use light when user is interacting with device, turn it off quickly
    • Assume user can read display is a minute or two
  • Displays
    • Early LCD displays were black and white
    • Colour introduced in last few years, common to have 12 bits or 16 bits of colour
    • Since devices are small, displays must also be small, typically only a few inches
    • This limits the resolution of the displays, must be able to read them
  • Displays
    • PDAs have 320x240 displays, can go higher but may not be worth it
    • Higher resolution means smaller pixels, characters will be smaller, too hard to read
    • Mobile phones are harder, displays are usually smaller, want phones to be small
    • Need to be able to read while walking, need to have larger text
  • Case Studies
    • Look at some typical devices to see how this all fits together
    • Introduce some of the terms that we will use later
    • Unlike PCs, there is not a lot of technical information on these devices
    • Consumer devices, don’t need to provide information to programmers, etc
  • Arm Processor
    • One of the most popular processor families for mobile devices
    • Processor design licensed to other companies (Intel, Samsung, Fujitsu, etc), also produce custom designs for devices
    • For details see http://www.arm.com
    • Found in everything from phones, PDAs and GameBoys
  • Arm Processor
    • Wide range of processors:
      • ARM
        • 16/32 bit
        • Low power, low speed, small
      • StrongARM
        • 32 bit
        • Medium speed, low power
      • XScale
        • 32 bit
        • High end, expensive, medium power
  • Mobile Phones
    • Wide range of architectures, usually include:
      • Processor
      • Memory
      • Phone network interface
      • Display
      • Keypad
    • Little technical information, tends to change rapidly
  • Nokia Series 60
    • Nokia has several phone series, vary on price and features
    • Series 60 is for high end phone, including N-Gage
    • Symbian OS, Supports applications in:
      • C/C++
      • Java
      • HTML, SMIL, MMS, etc
  • Nokia Series 60
    • Latest phone is the 6600:
      • ARM (StrongARM?) 100 MHz (?) processor
      • 176x208 display, 16 bit colour
      • 6 Mbyte memory
      • Flash memory slot
      • Bluetooth, infrared connectivity
      • Can sync with PC
  • Mobile Phones
    • Most modern mobile phones have some type of web browser, several standards for this
    • SMS is standard, MMS is becoming more popular
    • Java is becoming standard on medium to high end phones
    • Small amount of memory, usually around 1 MByte
  • PDA
    • Two basic families of PDAs:
      • Palm
      • Windows CE
    • There are a few other types, but they aren’t very popular
    • Two families address two market areas with little overlap
    • Will mainly look at Windows CE
  • Palm
    • Palm aims at low end of market, cheapest devices are Palm based
    • Can run on very limited hardware
    • Viewed as an appliance, replace notepads, calendars, meeting schedules
    • Not particularly friendly to developers, viewed more as a closed system
    • Not very expandable
  • Windows CE
    • Aimed at more high end devices
    • Needs more hardware than Palm
    • Viewed as a miniature version of office PC
    • Take your office with you
    • Friendly to developers (free development tools), similar to Windows on PC
    • Easy to expand, add new features
  • iPAQ
    • Popular PDA developed by Compaq before they were bought by HP
    • Line continued by HP
    • One of the best Windows CE devices
    • Range of devices available, vary on processor speed, memory, features
    • Price range $2000 - $5000 HK
  • iPAQ
    • Basic hardware features
      • StrongARM / XScale processor, range from 200 to 400 MHz
      • 64 MByte RAM, 32 MByte ROM
      • 240 x 320 display, 16 bit colour
      • Flash memory card
      • Bluetooth, infrared connectivity (not all models)
      • Can sync with PC
  • PDA
    • iPAQ is the high end, most other PDAs have lower performance, fewer features
    • Typical processor speeds are in the 200Mhz range
    • Most have 32Mbyte or less memory, Palm devices tend to have less
    • Not all have good connectivity, maybe just serial or USB
  • GameBoy
    • There have been many versions of this device over the years
    • One of the most successful mobile devices
    • Look at the GBA, the most recent version of the device
    • These are cheap devices, from $500 to $1500 HK, depending upon the version and packaging
  • GameBoy
    • The hardware
      • ARM7TDMI processor at 16.78 MHz
      • 32 Kbytes of internal RAM, 256 Kbytes of external RAM
      • Up to 240x160 display with up to 15 bit colour
      • ROM cartridges or flash memory used for games, up to 32 Mbytes of data per game
      • Serial connection for external communications
  • GameBoy
    • There have been other mobile game devices, but this is the one that lasted
    • This is not a powerful platform
    • Hardware a bit of a hack, tries to be compatible with older versions
    • Can do independent development, but this is not supported by Nintendo
  • Note
    • If you are interested in console game development the GameBoy is a good place to start
    • Not as complicated as consoles, but a lot of the same techniques are used
    • Can get everything you need for under $1000HK, including the GameBoy!
  • Summary
    • Not near as powerful as a PC, but doesn’t have to do as much work
    • Small screens, need to think carefully about screen space
    • Development not as easy as PCs, can have emulators for PCs, but really need to get content onto device for testing
    • Need to have good communications for this
  • So What?
    • Why do I care about all of this?? I’m just going to produce web pages for mobile phones
    • Most web designers work on PCs, faster processors, special hardware for graphics and media
    • This hardware doesn’t exist on most mobile devices, applications could run much slower
  • So What?
    • About 10% of the raw processor power
    • No floating point -> slower media playback
    • No special multimedia instructions -> slower media playback
    • A web site with good performance on a PC may be unusable on a mobile phone or PDA
    • Must be careful in development
  • So What?
    • Large difference in mobile devices
    • Application may run on latest phone, but won’t run on older ones
    • Large number of phones are two or more years old
    • May not care about this, willing to let market grow as people replace their devices
  • Future
    • Rapidly evolving area, faster than PCs
    • Adding multimedia capabilities to mobile devices, special processor for video, images and sound
    • 3D graphics hardware for mobile devices, OpenGL-ES
    • Similar performance / features to 1995 era PC graphics cards