Hardware Technology


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hardware Technology

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