La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Intro au micro contrôleur HC12

Présentations similaires


Présentation au sujet: "Intro au micro contrôleur HC12"— Transcription de la présentation:

1 Intro au micro contrôleur HC12
GEF 447B GEF 447: Robotiques Intro au micro contrôleur HC12 Need to bring Bible to the class

2 Aperçu de la leçon Pourquoi utiliser un microcontrôleur
Histoire des microcontrôleurs Aperçu des Modules Configuration de la mémoire L’organisation de la planchette Manuels de référence

3 Pourquoi utiliser un microcontrôleur?
Microprocesseur de base: Pas de circuit pour connections externes Microcontrôleur Ordinateur ‘tout en un’ avec RAM, EEPROM … Possède plusieurs module – prêt à être introduit dans un circuit; p.ex. le convertisseur ATD Résistance de tirage Embarqué déjà dans plusieurs produits commercial – p.ex. l’automobile $ » pas cher: entre $1 à quelque $100 Résistance de tirage: met le valeur à 0 lorsque le fil est déconnecté (au lieu de Z high impedance)

4 Histoire du Motorola HC11/12
1971: Intel 4004 (4 bits) 1974: Intel 8080: début du marché pour les microprocesseurs 64 kilobytes de mémoire, 2 MHz 1974: Motorola 6800 1975: GM veut des uC 6800 sur mesure 1976: Zilog sort un uC 8-bit, Z80 Intel sort un uC 8-bit, MCS-48 Motorola 6800 Intel 8080: 8-bit data bus, 16-bit address bus Radio Shack TRS-80 (Trash 80)

5 Histoire du Motorola HC11/12
1979: version du 6800 à 8 bits avec un bus de 16 bits, le 6809 Motorola also announce le à 16 bits Zilog announce le Z800 à 16bits 1980: Intel 8051, un uC à 8 bit avec une mémoire EPROM sur la puce 1982: Motorola 6805 (un uC basé sur le 6800) 1990s: Motorola HC11s (ou fin des années 1980) Microchip PIC (utilise l’architecture Harvard au lieu de von Neumann) 1997: HC12A4, 1998: B32, 1999: D60, 2000: DG128, 2001: 9S12DP256 2003: C32 Harvard: le programme et les données sont stockés à des endroits différents MC9S12DP256 utilise le microprocesseur M68HC12

6 Aperçu de la leçon Pourquoi utiliser un microcontrôleur
Histoire des microcontrôleurs Aperçu des Modules Configuration de la mémoire L’organisation de la planchette Manuels de référence

7 16 ATD, 10 bit 8 timing 8 PWM, 8 bit 2 RS232 serial 3 SPI 1 IIC 5 CAN
16 Wakeup Watchdog SCI: serial communication interface SPI: serial peripheral interface IIC: Inter-integrated circuit CAN: Controller area network RAM: random access memory EEPROM: Electrically erasable programmable read only memory ATD: Analog-to-digital PWM: Pulse width modulation

8 Aperçu de la leçon Pourquoi utiliser un microcontrôleur
Histoire des microcontrôleurs Aperçu des Modules Configuration de la mémoire L’organisation de la planchette Manuels de référence

9 Config. de la mémoire Note: Adressage de 16 bit = 64K pas 512K!
Ainsi utilise Page mémoire. Use the PPAGE (program page register) register to select your page

10 Registres: $0000 - $03FF 1024 registres!!!
Contrôle tous les aspects du microcontrôleur Ils peuvent être changés manuellement!! Tester manuellement et puis après insérer les changement dans votre programme. Livre de réf. principale est “MC9S12DP256 Advance Information” (Cartable noir) Get use to understanding their use.

11 RAM: $1000 - $3FFF = 12K Facile et rapide à loader
Presque tout votre programme (si ce n’est pas tout) pourrait être contenu dans cet espace mémoire Volatile Notez que la stack utilise la RAM!!! The stack is the memory set aside as scratch space for a thread of execution. When a function is called, a block is reserved on the top of the stack for local variables and some bookkeeping data. When that function returns, the block becomes unused and can be used the next time a function is called. The stack is always reserved in a LIFO order; the most recently reserved block is always the next block to be freed. This makes it really simple to keep track of the stack; freeing a block from the stack is nothing more than adjusting one pointer. The heap is memory set aside for dynamic allocation. Unlike the stack, there's no enforced pattern to the allocation and deallocation of blocks from the heap; you can allocate a block at any time and free it at any time. This makes it much more complex to keep track of which parts of the heap are allocated or free at any given time; there are many custom heap allocators available to tune heap performance for different usage patterns. Each thread gets a stack, while there's typically only one heap for the application (although it isn't uncommon to have multiple heaps for different types of allocation).

12 EEPROM: $000 - $0FFF = 4K 2048 rangés de 2 octets Plus lent à charger
Quelques étapes de plus pour le chargement Mémoire non-volatile Présentement à $ $0FFF = 4K Mes les registres sont à $0000 et prenne environs 1K EEPROM disponible $ $0FFF = 3K Page 193 of “Bible” 4K block is relocateable Register block is at $110 - $11B Only one significant register EPROT controls if a section of EEPROM is “protected”

13 Flash EEPROM Arrangé en quatre bloques de 64K
Chacun est 32K de 2 octets Différence entre Flash EEPROM et EEPROM?? Plus rapide à écrire que le EEPROM Efface des block de 512 octets ou 64Ko Plus rapide que l’EEPROM pour charger Effacement par bloque de 512 octets ou tout le bloque de 64K Page 165 of Motorola manual

14 Flash EEPROM - bloque

15 Flash EEPROM - pages

16 Flash EEPROM - registres
2 Registres significatifs: PPAGE $0030 FPROT $0104 FPOPEN — Opens the flash block or subsections of it for program or erase. 1 = The flash block enabled to program = The whole flash block is protected. FPOPEN — Opens the flash block or subsections of it for program or erase. 1 = The flash block or subsections are enabled to program or 0 = The whole flash block is protected. In this case the other bits within the protect register are don’t care. FPHDIS — Flash Protection Higher address range disable This bit determines whether there is a protected area at the higher end of the flash block address map. 1 = Protection disabled 0 = Protection enabled FPHS[1:0] — Flash Protection Higher address size These 2 bits determine the size of the protected area. FPHDIS — Flash Protection Higher address range disable This bit determines whether there is a protected area at the higher end of the flash block address map. 1 = Protection disabled 0 = Protection enabled

17 EEPROM Blocks EP[2:0] Protected Address Protected Size
$0114 EP[2:0] Protected Address Protected Size 000 $_FC0 - $_FFF 64 bytes 001 $_F80 - $_FFF 128 bytes 010 $_F40 - $_FFF 192 bytes 011 $_F00 - $_FFF 256 bytes 100 $_EC0 - $_FFF 320 bytes 101 $_E80 - $_FFF 384 bytes 110 $_E40 - $_FFF 448 bytes 111 $_E00 - $_FFF 512 bytes Not expected to memorize this information. This is to make you aware of this capability, as many other microcontroller will have a similar capability EPOPEN allows or disallows any protection area EPDIS disables protected area, therefore must be a 0 for protection to be possible EP[2:0] set size of protected area

18 Aperçu de la leçon Pourquoi utiliser un microcontrôleur
Histoire des microcontrôleurs Aperçu des Modules Configuration de la mémoire L’organisation de la planchette Manuels de référence

19 L’organisation de la planchette
La planchette du microcontrôleur vient de ‘Technological Arts’. Adapt9s12DP512 Inclut 9S12DP256B Horloge (clock) Interface avec la puce, RS232, CAN, RS485 Régulateur de Voltage Configuration jumpers / bouton de reset Connecteurs – toutes les pines du CPU, BDM etc

20 L’organisation de la planchette

21 L’organisation de la planchette

22 Connecteur H1, H2

23 Aperçu de la leçon Pourquoi utiliser un microcontrôleur
Histoire des microcontrôleurs Aperçu des Modules Configuration de la mémoire L’organisation de la planchette Manuels de référence

24 Manuels de référence MC9s12DP256 Advanced Information:
Walk them through list of sections and contents MC9s12DP256 Advanced Information: C’est le livre principale de référence List of sections / table of contents block diagram, pg 16 CPU and CPU registers, pg 19 CPU pinout, pg 41 Registers, pg 65 ********** Memory Map, pg 120 Walk them through list of sections and contents Review following block diagram, pg 16 CPU and CPU registers, pg 19 CPU pinout page 41 Registers, pg 65 ********** Memory Map, pg 120 time permitting could review

25 Manuels de référence CPU12 Reference Manual
Liste tous les commande en assembleur Les mode d’adressage Chapitre sur la logique flou (Fuzzy logic)

26 Manuels de référence Adapt9S12DP256 User Manual (Evaluation Package)
Inclue dans le gros cartable noir, mais vous ne devriez pas avoir besoin de l’utiliser Ceux qui sont motivés, ou ceux qui considère acheter une planchette similaire, vous pouvez considérer zyeuter cette partie.

27 Versions Électroniques des Manuels
Chaque PC du Laboratoire a: MC9s12DP256AdvanceInformation.rev1.pdf CPU12_ReferenceManual.rev3.pdf Tech_Arts_ADAPT9s12dp256UserManual.pdf 9s12dp256_MemoryMap.jpg Tech_Arts_ADAPT9s12dp256_H1_H2pinout.jpg Tech_Arts_ADAPT9s12dp256_ModuleLayoutDiagram.jpg

28 Aperçu de la leçon Pourquoi utiliser un microcontrôleur
Histoire des microcontrôleurs Aperçu des Modules Configuration de la mémoire L’organisation de la planchette Manuels de référence

29 Questions?

30

31

32

33

34 Pseudo-Vector Table DBUG 12 – monitor program resides at top of Flash ($F000) Reset table: $FF80 - $FFFF Redirects to: $EF80 - $EFFF then redirects Pseudo vectors to table in RAM at $3E00 (Currently: this can be changed at any time )

35 Reset Vectors: pg 141 Reset COP SWI RTI
Timer channels 0-7, Pulse accumulator SPI, SCI, IIC, CAN ATD


Télécharger ppt "Intro au micro contrôleur HC12"

Présentations similaires


Annonces Google