Part Number Hot Search : 
SSM2017 SGM9452 SV325 1WTE13 L8122 STC02 2SD2413G 130210
Product Description
Full Text Search
 

To Download DSP56311UM Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  dsp 56311 users manual 24-bit digital signal processor DSP56311UM/d revision 1.0, october 1999 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
once and mfax are trademarks of motorola, inc. intel is a registered trademark of the intel corporation. all other trademarks are those of their respective owners. motorola inc., 1999 motorola reserves the right to make changes without further notice to any products herein to improve reliability, function, or design. motorola does not assume any liability arising out of the application or use of any product or circuit described herein ; neither does it convey any license under its patent rights nor the rights of others. motorola products are not authorized for u se as components in life support devices or systems intended for surgical implant into the body or intended to support or sustain life. buyer agrees to notify motorola of any such intended end use whereupon motorola shall determine availability and suitability of its product or products for the use intended. motorola and are registered trademarks of motorola, inc. motorola, inc. is an equal employment opportunity /affirmative action employer. how to reach us: usa/europe/locations not listed : motorola literature distribution p.o. box 5405 denver, colorado 80217 1 (800) 441-2447 1 (303) 675-2140 motorola fax back system (mfax?) : touchtone (602) 244-6609 1 (800) 774-1848 rmfax0@email.sps.mot.com asia/pacific : motorola semiconductors h.k. ltd. 8b tai ping industrial park 51 ting kok road tai po, n.t., hong kong 852-26629298 technical resource center: 1 (800) 521-6274 dsp helpline dsphelp@dsp.sps.mot.com japan : nippon motorola ltd spd, strategic planning office141 4-32-1, nishi-gotanda shinagawa-ku, japan 81-3-5487-8488 internet : http://www.motorola-dsp.com/ f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola contents iii contents chapter 1 overview 1.1 manual organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1.2 manual conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 1.3 features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.4 dsp56300 core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1- 5 1.5 dsp56300 core functional blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 1.5.1 data alu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 1.5.1.1 data alu registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 1.5.1.2 multiplier-accumulator (mac) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 1.5.2 address generation unit (agu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 1.5.3 program control unit (pcu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 1.5.4 pll and clock oscillator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 1.5.5 jtag tap and once module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 1.5.6 on-chip memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1- 9 1.5.7 off-chip memory expansion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 1.6 internal buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 1.7 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1 1.8 dma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 1.9 peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 1.9.1 gpio functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 2 1.9.2 hi08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12 1.9.3 essi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 1.9.4 sci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13 1.9.5 timer module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 1.9.6 efcop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14 chapter 2 signals/connections 2.1 power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 2.2 ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 2.3 clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 2.4 pll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2.5 external memory expansion port (port a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2.5.1 external address bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2- 6 2.5.2 external data bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 2.5.3 external bus control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 -7 2.6 interrupt and mode control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.7 hi08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual iv 2.8 enhanced synchronous serial interface 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.9 enhanced synchronous serial interface 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 2.10 sci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.11 timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.12 jtag and once interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 chapter 3 memory configuration 3.1 program memory space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3.1.1 internal program memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3.1.2 memory switch modesprogram memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.1.3 instruction cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.1.4 program bootstrap rom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2 x data memory space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.1 internal x data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.2 memory switch modesx data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 3.2.3 internal x i/o space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 -5 3.3 y data memory space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 3.3.1 internal y data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 3.3.2 memory switch modesy data memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 3.3.3 internal y i/o space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 -7 3.3.4 external y i/o space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3- 7 3.4 dynamic memory configuration switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 3.5 sixteen-bit compatibility mode configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 3.6 memory maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3- 8 chapter 4 core configuration 4.1 operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4- 1 4.2 bootstrap program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.3 interrupt sources and priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.3.1 interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 4.3.2 interrupt priority levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 -7 4.3.3 interrupt source priorities within an ipl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 4.3.4 dma request sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 4.4 operating mode register (omr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 4.5 status register (sr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 4.6 pll control register (pctl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 4.7 device identification register (idr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 4.8 address attribute registers (aar0Caar3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 4.9 jtag identification (id) register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25 4.10 jtag boundary scan register (bsr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola contents v chapter 5 programming the peripherals 5.1 peripheral initialization steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5.2 mapping the control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 5.3 reading status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 5.4 data transfer methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5.4.1 polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5.4.2 interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5.4.3 dma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 5.4.4 advantages and disadvantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 5.5 general-purpose input/output (gpio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 5.5.1 port b signals and registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 5.5.2 port c signals and registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 5.5.3 port d signals and registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 5.5.4 port e signals and registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 5.5.5 triple timer signals and registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 chapter 6 host interface (hi08) 6.1 features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6.1.1 dsp core interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 -1 6.1.2 host processor interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 6.2 host port signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 6.3 overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 6.4 operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 6.4.1 software polling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 6.4.2 core interrupts and host commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 6.4.3 core dma access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 6.4.4 host requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 6.4.5 endian modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 -11 6.5 boot-up using the hi08 host port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 6.6 dsp core programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 6.6.1 host control register (hcr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14 6.6.2 host status register (hsr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 6.6.3 host data direction register (hddr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 6.6.4 host data register (hdr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 6.6.5 host base address register (hbar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 6.6.6 host port control register (hpcr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 6.6.7 host transmit data register (htx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 6.6.8 host receive data register (hrx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 6.6.9 dsp-side registers after reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 6.7 host programmers model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 6.7.1 interface control register (icr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 6.7.2 command vector register (cvr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual vi 6.7.3 interface status register (isr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28 6.7.4 interrupt vector register (ivr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 6.7.5 receive byte registers (rxh: rxm: rxl). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 6.7.6 transmit byte registers (txh:txm:txl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 6.7.7 host-side registers after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31 6.8 programming model quick reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32 chapter 7 enhanced synchronous serial interface (essi) 7.1 essi enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7.2 essi data and control signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.2.1 serial transmit data signal (std) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.2.2 serial receive data signal (srd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.2.3 serial clock (sck) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 -3 7.2.4 serial control signal (sc0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 7.2.5 serial control signal (sc1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 7.2.6 serial control signal (sc2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.3 operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.3.1 essi after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.3.2 initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.3.3 exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 7.4 operating modes: normal, network, and on-demand. . . . . . . . . . . . . . . . . . . . . . . 7-10 7.4.1 normal/network/on-demand mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 7.4.2 synchronous/asynchronous operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 7.4.3 frame sync selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 7.4.4 frame sync signal format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 7.4.5 frame sync length for multiple devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 7.4.6 word length frame sync and data word timing . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 7.4.7 frame sync polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 2 7.4.8 byte format (lsb/msb) for the transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 7.4.9 flags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 7.5 essi programming model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 7.5.1 essi control register a (cra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 7.5.2 essi control register b (crb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18 7.5.3 essi status register (ssisr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29 7.5.4 essi receive shift register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31 7.5.5 essi receive data register (rx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31 7.5.6 essi transmit shift registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31 7.5.7 essi transmit data registers (tx[2 C 0]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34 7.5.8 essi time slot register (tsr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34 7.5.9 transmit slot mask registers (tsma, tsmb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-34 7.5.10 receive slot mask registers (rsma, rsmb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-35 7.6 gpio signals and registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36 7.6.1 port control register (pcr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36 7.6.2 port direction register (prr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37 7.6.3 port data register (pdr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola contents vii chapter 8 serial communication interface (sci) 8.1 operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8- 1 8.1.1 synchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 8.1.2 asynchronous mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 8.1.3 multidrop mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 8.1.3.1 transmitting data and address characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 8.1.3.2 wired-or mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 8.1.3.3 idle line wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 -3 8.1.3.4 address mode wakeup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 8.2 i/o signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 8.2.1 receive data (rxd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.2.2 transmit data (txd). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.2.3 sci serial clock (sclk). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.3 sci after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.4 sci initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 8.4.1 preamble, break, and data transmission priority. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 8.4.2 bootstrap loading through the sci (operating mode 6). . . . . . . . . . . . . . . . . . . . . . 8-7 8.5 exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 8.6 sci programming model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 8.6.1 sci control register (scr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 8.6.2 sci status register (ssr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 8.6.3 sci clock control register (sccr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 8.6.4 sci data registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8- 22 8.6.4.1 sci receive register (srx). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 8.6.4.2 sci transmit register (stx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24 8.7 gpio signals and registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 8.7.1 port e control register (pcre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 8.7.2 port e direction register (prre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 8.7.3 port e data register (pdre). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 chapter 9 triple timer module 9.1 overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 9.2 operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 9.2.1 timer after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 9.2.2 timer initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 9.2.3 timer exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 9.3 operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9- 4 9.3.1 triple timer modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9- 5 9.3.1.1 timer gpio (mode 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 9.3.1.2 timer pulse (mode 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 9.3.1.3 timer toggle (mode 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 9.3.1.4 timer event counter (mode 3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual viii 9.3.2 signal measurement modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 9.3.2.1 measurement input width (mode 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12 9.3.2.2 measurement input period (mode 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 9.3.2.3 measurement capture (mode 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15 9.3.3 pulse width modulation (pwm, mode 7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16 9.3.4 watchdog modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18 9.3.4.1 watchdog pulse (mode 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19 9.3.4.2 watchdog toggle (mode 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20 9.3.4.3 reserved modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 1 9.3.5 special cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21 9.3.6 dma trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 -21 9.4 triple timer module programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21 9.4.1 prescalar counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 -21 9.4.2 timer prescalar load register (tplr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23 9.4.3 timer prescalar count register (tpcr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24 9.4.4 timer control/status register (tcsr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24 9.4.5 timer load register (tlr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29 9.4.6 timer compare register (tcpr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30 9.4.7 timer count register (tcr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30 chapter 10 enhanced filter coprocessor (efcop) 10.1 features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 10.2 architecture overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 10.2.1 pmb interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 10.2.2 efcop memory banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4 10.2.3 filter multiplier and accumulator (fmac) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 10.3 efcop programming model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 10.3.1 filter data input register (fdir) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 10.3.2 filter data output register (fdor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 10.3.3 filter k-constant input register (fkir). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 10.3.4 filter count (fcnt) register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7 10.3.5 efcop control status register (fcsr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 10.3.6 efcop alu control register (facr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 10.3.7 efcop data base address (fdba) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 10.3.8 efcop coefficient base address (fcba) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13 10.3.9 decimation/channel count register (fdch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13 10.3.10 efcop interrupt vectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 10.4 efcop programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 10.5 operation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16 10.5.1 fir filter type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0-16 10.5.1.1 real mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 10.5.1.1.1 adaptive mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 10.5.1.1.2 multichannel mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17 10.5.1.1.3 complex mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola contents ix 10.5.1.1.4 alternating complex mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18 10.5.1.1.5 magnitude mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19 10.5.1.1.6 initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 -19 10.5.1.1.7 decimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 9 10.5.2 iir filter type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20 10.6 data transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 -21 10.7 examples of use in different modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22 10.7.1 real fir filter: mode 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22 10.7.1.1 dma input/dma output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23 10.7.1.2 dma input/polling output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26 10.7.1.3 dma input/interrupt output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-28 10.7.2 real fir filter with decimation by m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30 10.7.3 adaptive fir filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10- 31 10.7.3.1 implementation using polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-33 10.7.3.2 implementation using dma input and interrupt output . . . . . . . . . . . . . . . . . . . 10-34 10.7.3.3 updating an fir filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-34 10.8 verification for all exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-37 10.8.1 input sequence (input.asm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-37 10.8.2 filter coefficients (coefs.asm). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-38 10.8.3 output sequence for examples d-1, d-2, and d-3 . . . . . . . . . . . . . . . . . . . . . . . . . 10-39 10.8.4 desired signal for example d-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-39 10.8.5 output sequence for example d-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-40 appendix a bootstrap program a.1 bootstrap code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a -1 a.2 internal i/o equates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a-9 a.3 interrupt equates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a-2 0 appendix b programming reference b.1 internal i/o memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-2 b.2 interrupt sources and priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-8 b.3 programming sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-13 index f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual x f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual xi figures figure1-1. dsp56311 block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11 figure 2-1. signals identified by functional group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 figure 3-1. memory switch off, cache off, 24-bit mode (default) . . . . . . . . . . . . . . . . 3-9 figure 3-2. memory switch off, cache on, 24-bit mode . . . . . . . . . . . . . . . . . . . . . . . 3-10 figure 3-3. memory switch on (msw = 00), cache off, 24-bit mode . . . . . . . . . . . . 3-11 figure 3-4. memory switch on (msw = 00), cache on, 24-bit mode . . . . . . . . . . . . . 3-12 figure 3-5. memory switch on (msw = 01), cache off, 24-bit mode . . . . . . . . . . . . 3-13 figure 3-6. memory switch on (msw = 01), cache on, 24-bit mode . . . . . . . . . . . . . 3-14 figure 3-7. memory switch on (msw = 10), cache off, 24-bit mode . . . . . . . . . . . . 3-15 figure 3-8. memory switch on (msw = 10), cache on, 24-bit mode . . . . . . . . . . . . . 3-16 figure 3-9. memory switch on (msw = 11), cache off, 24-bit mode . . . . . . . . . . . . 3-17 figure 3-10. memory switch on (msw = 11), cache on, 24-bit mode . . . . . . . . . . . . . 3-18 figure 3-11. memory switch off, cache off, 16-bit mode . . . . . . . . . . . . . . . . . . . . . . . 3-19 figure 3-12. memory switch off, cache on, 16-bit mode . . . . . . . . . . . . . . . . . . . . . . . 3-20 figure 3-13. memory switch on (msw = 00), cache off, 16-bit mode . . . . . . . . . . . . 3-21 figure 3-14. memory switch on (msw = 00), cache on, 16-bit mode . . . . . . . . . . . . . 3-22 figure 3-15. memory switch on (msw = 01), cache off, 16-bit mode . . . . . . . . . . . . 3-23 figure 3-16. memory switch on (msw = 01), cache on, 16-bit mode . . . . . . . . . . . . . 3-24 figure 3-17. memory switch on (msw = 10), cache off, 16-bit mode . . . . . . . . . . . . 3-25 figure 3-18. memory switch on (msw = 10), cache on, 16-bit mode . . . . . . . . . . . . . 3-26 figure 3-19. memory switch on (msw = 11), cache off, 16-bit mode . . . . . . . . . . . . 3-27 figure 3-20. memory switch on (msw = 11), cache on, 16-bit mode . . . . . . . . . . . . . 3-28 figure 4-1. interrupt priority register c (ipr-c) (x:$ffffff) . . . . . . . . . . . . . . . . . . . . 4-7 figure 4-2. interrupt priority register p (ipr-p) (x:$fffffe) . . . . . . . . . . . . . . . . . . . . 4-7 figure 4-3. dsp56311 operating mode register (omr) format . . . . . . . . . . . . . . . . . . 4-11 figure 4-4. status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 figure 4-5. pll control register (pctl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 figure 4-6. identification register configuration (revision 0) . . . . . . . . . . . . . . . . . . . . 4-22 figure 4-7. address attribute registers (aar0Caar3) (x:$fffff9C$fffff6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23 figure 4-8. jtag identification register configuration (revision 0). . . . . . . . . . . . . . . 4-25 figure 5-1. memory mapping of peripherals control registers . . . . . . . . . . . . . . . . . . . . 5-2 figure 5-2. port b signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 figure 5-3. port c signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual xii figures figure 5-4. port d signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 figure 5-5. port e signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 figure 5-6. triple timer signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 figure 6-1. hi08 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 figure 6-2. hi08 core interrupt operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 figure 6-3. hi08 host request structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 figure 6-4. hi08 read and write operations in little endian mode . . . . . . . . . . . . . . . 6-11 figure 6-5. hi08 read and write operations in big endian mode . . . . . . . . . . . . . . . . . 6-12 figure 6-6. host control register (hcr) (x:$ffffc2) . . . . . . . . . . . . . . . . . . . . . . . . . 6-14 figure 6-7. host status register (hsr) (x:$ffffc3) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 figure 6-8. host data direction register (hddr) (x:$ffffc8). . . . . . . . . . . . . . . . . . 6-16 figure 6-9. host base address register (hbar) (x:$ffffc5). . . . . . . . . . . . . . . . . . . 6-17 figure 6-10. self chip-select logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 figure 6-11. host port control register (hpcr) (x:$ffffc4) . . . . . . . . . . . . . . . . . . . . 6-18 figure 6-12. single-strobe bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 figure 6-13. dual-strobe bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21 figure 6-14. interface control register (icr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 figure 6-15. command vector register (cvr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 figure 6-16. interface status registe (isr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28 figure 6-17. interrupt vector register (ivr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 figure 7-1. essi block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 figure 7-2. essi control register a(cra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14 figure 7-3. essi clock generator functional block diagram . . . . . . . . . . . . . . . . . . . . 7-17 figure 7-4. essi frame sync generator functional block diagram . . . . . . . . . . . . . . . 7-18 figure 7-5. essi control register b (crb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18 figure 7-6. crb fsl0 and fsl1 bit operation (fsr = 0) . . . . . . . . . . . . . . . . . . . . . . . 7-25 figure 7-7. crb syn bit operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26 figure 7-8. crb mod bit operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27 figure 7-9. normal mode, external frame sync (8 bit, 1 word in frame) . . . . . . . . . . 7-28 figure 7-10. network mode, external frame sync (8 bit, 2 words in frame). . . . . . . . . 7-28 figure 7-11. essi status register (ssisr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29 figure 7-12. essi data path programming model (shfd = 0) . . . . . . . . . . . . . . . . . . . . 7-32 figure 7-13. essi data path programming model (shfd = 1) . . . . . . . . . . . . . . . . . . . . 7-33 figure 7-14. essi transmit slot mask register a (tsma) . . . . . . . . . . . . . . . . . . . . . . . 7-34 figure 7-15. essi transmit slot mask register b (tsmb) . . . . . . . . . . . . . . . . . . . . . . . 7-35 figure 7-16. essi receive slot mask register a (rsma). . . . . . . . . . . . . . . . . . . . . . . . 7-35 figure 7-17. essi receive slot mask register b (rsmb) . . . . . . . . . . . . . . . . . . . . . . . . 7-36 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
figures motorola xiii figure 7-18. port control register (pcr) (pcrc x:$ffffbf) (pcrd x:$fffaf). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37 figure 7-19. port direction register (prr)(prrc x:$ffffbe) (prrd x: $ffffae) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37 figure 7-20. port data register (pdr) (pdrc x:$ffffbd) (pdrd x: $ffffad). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 figure 8-1. sci data word formats (ssftd = 1), 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 figure 8-2. sci data word formats (ssftd = 0), 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 figure 8-3. sci control register (scr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 figure 8-4. sci status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 figure 8-5. sci clock control register (sccr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19 figure 8-6. 16 x serial clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 figure 8-7. sci baud rate generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 figure 8-8. sci programming model - data registers . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 figure 8-9. port e control register (pcre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 figure 8-10. port e direction register (prre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26 figure 8-11. port e data register (pdre) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27 figure 9-1. triple timer module block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 figure 9-2. timer module block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3 figure 9-3. timer mode (trm = 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 figure 9-4. timer mode (trm = 0). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 figure 9-5. pulse mode (trm = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7 figure 9-6. pulse mode (trm = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 figure 9-7. toggle mode, trm = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 figure 9-8. toggle mode, trm = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9 figure 9-9. event counter mode, trm = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10 figure 9-10. event counter mode, trm = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11 figure 9-11. pulse width measurement mode, trm = 1 . . . . . . . . . . . . . . . . . . . . . . . . . 9-12 figure 9-12. pulse width measurement mode, trm = 0 . . . . . . . . . . . . . . . . . . . . . . . . . 9-13 figure 9-13. period measurement mode, trm = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14 figure 9-14. period measurement mode, trm = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14 figure 9-15. capture measurement mode, trm = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15 figure 9-16. pulse width modulation toggle mode, trm = 1 . . . . . . . . . . . . . . . . . . . . 9-17 figure 9-17. pulse width modulation toggle mode, trm = 0 . . . . . . . . . . . . . . . . . . . . 9-18 figure 9-18. watchdog pulse mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19 figure 9-19. watchdog toggle mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20 figure 9-20. timer module programmers model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22 figure 9-21. timer prescalar load register (tplr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual xiv figures figure 9-22. timer prescalar count register (tpcr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24 figure 9-23. timer control/status register (tcsr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24 figure 10-1. efcop block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3 figure 10-2. storage of filter coefficients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 figure 10-3. efcop memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5 figure 10-4. filter count (fcnt) register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 figure 10-5. efcop alu control register (facr) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11 figure 10-6. decimation/channel count register (fdch) . . . . . . . . . . . . . . . . . . . . . . . 10-13 figure 10-7. fir filter type processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16 figure 10-8. iir filter type processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20 figure 10-9. real fir filter data stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25 figure 10-11. adaptive fir filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-31 figure 10-10. real fir filter data stream with decimation by m . . . . . . . . . . . . . . . . . 10-31 figure 10-12. adaptive fir filter using polling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-33 figure 10-13. adaptive fir filter using dma input and interrupt output . . . . . . . . . . . 10-34 figure b-1. status register (sr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-13 figure b-2. operating mode register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-14 figure b-3. address attribute registers (aar3 - aar0) . . . . . . . . . . . . . . . . . . . . . . . . b-15 figure b-4. bus control register (bcr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-16 figure b-5. dma control register (dcr). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-17 figure b-6. interrupt priority registerCcore (iprCc) . . . . . . . . . . . . . . . . . . . . . . . . . . . b-18 figure b-7. interrupt priority register C peripherals (iprCp) . . . . . . . . . . . . . . . . . . . . . b-19 figure b-8. phase lock loop control register (pctl) . . . . . . . . . . . . . . . . . . . . . . . . . b-20 figure b-9. host receive and host transmit data registers. . . . . . . . . . . . . . . . . . . . . . b-21 figure b-10. host control and host status registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-22 figure b-11. host base address and host port control registers . . . . . . . . . . . . . . . . . . . b-23 figure b-12. interrupt control and interrupt status registers . . . . . . . . . . . . . . . . . . . . . . b-24 figure b-13. interrupt vector and command vector registers . . . . . . . . . . . . . . . . . . . . . b-25 figure b-14. host receive and host transmit data registers. . . . . . . . . . . . . . . . . . . . . . b-26 figure b-15. essi control register a (cra) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-27 figure b-16. essi control register b (crb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-28 figure b-17. essi status register (ssisr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-29 figure b-18. essr transmit and receive slot mask registers (tsm, rsm) . . . . . . . . . b-30 figure b-19. sci control register (scr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-31 figure b-20. sci status and clock control registers (ssr, sccr) . . . . . . . . . . . . . . . . . b-32 figure b-21. sci receive and transmit data registers (srx, trx) . . . . . . . . . . . . . . . . b-33 figure b-22. timer prescaler load/count register (tplr, tpcr) . . . . . . . . . . . . . . . . . b-34 figure b-23. timer control/status register (tcsr) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-35 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
figures motorola xv figure b-24. timer load, compare, count registers (tlr, tcpr, tcr). . . . . . . . . . . . b-36 figure b-25. host data direction and host data registers (hddr, hdr) . . . . . . . . . . . b-37 figure b-26. port c registers (pcrc, prrc, pdrc) . . . . . . . . . . . . . . . . . . . . . . . . . . . b-38 figure b-27. port d registers (pcrd, prrd, pdrd). . . . . . . . . . . . . . . . . . . . . . . . . . . b-39 figure b-28. port e registers (pcre, prre, pdre) . . . . . . . . . . . . . . . . . . . . . . . . . . . b-40 figure b-29. efcop counter and control status registers (fcnt and fcsr)b-41 figure b-30. efcop facr, fdba, fcba, and fdch registers . . . . . . . . . . . . . . . . . . b-42 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual xvi figures f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual xvii tables table 1-1. high true/low true signal conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 table 1-2. dsp56311 switch memory configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 table 4-1. dsp56311 operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 table 4-2. interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 table 4-3. interrupt priority level bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 table 4-4. interrupt source priorities within an ipl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 table 4-5. dma request sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 table 4-6. operating mode register (omr) bit definitions . . . . . . . . . . . . . . . . . . . . . . 4-11 table 4-7. status register bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 table 4-8. pll control register (pctl) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 table 4-9. address attribute registers (aar0Caar3) bit definitions . . . . . . . . . . . . . . 4-23 table 5-1. dma-accessible registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 table 6-1. hi08 signal definitions for operational modes . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 table 6-2. hi08 data strobe signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 table 6-3. hi08 host request signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 table 6-4. dma request sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 table 6-5. hreq pin operation in single request mode (icr[2]=hdrq=0) . . . . . . . . 6-10 table 6-6. htrq and hrrq pin operation in double request mode (icr[2]=hdrq=1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 table 6-7. host control register (hcr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14 table 6-8. host status register (hsr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15 table 6-9. hdr and hddr functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 table 6-10. host base address register (hbar) bit definitions. . . . . . . . . . . . . . . . . . . . 6-17 table 6-11. host port control register (hpcr) bit definitions . . . . . . . . . . . . . . . . . . . . . 6-18 table 6-12. dsp-side registers after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22 table 6-13. host-side register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24 table 6-14. interface control register (icr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . 6-25 table 6-15. command vector register (cvr) bit definitions . . . . . . . . . . . . . . . . . . . . . . 6-27 table 6-16. interface status register (isr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . 6-28 table 6-17. host-side registers after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31 table 6-18. hi08 programming model, dsp side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32 table 6-19. hi08 programming model: host side. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35 table 7-1. essi clock sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 table 7-2. mode and signal definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 table 7-3. essi control register a (cra) bit definitions . . . . . . . . . . . . . . . . . . . . . . . 7-14 table 7-4. essi control register b (crb) bit definitions . . . . . . . . . . . . . . . . . . . . . . . 7-19 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual xviii tables table 7-5. essi status register (ssisr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7-29 table 8-1. sci registers after reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 table 8-2. sci control register (scr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 table 8-3. sci status register (ssr) bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 table 8-4. sci clock control register (sccr) bit definitions . . . . . . . . . . . . . . . . . . . . 8-21 table 8-5. port control register and port direction register bits . . . . . . . . . . . . . . . . . . 8-26 table 9-1. timer prescalar load register (tplr) bit definitions . . . . . . . . . . . . . . . . . . 9-23 table 9-2. timer prescalar count register (tpcr) bit definitions . . . . . . . . . . . . . . . . . 9-24 table 9-3. timer control/status register (tcsr) bit definitions . . . . . . . . . . . . . . . . . . 9-24 table 9-4. inverter (inv) bit operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28 table 10-1. efcop registers accessible through the pmb . . . . . . . . . . . . . . . . . . . . . . . 10-4 table 10-2. efcop registers and base addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6 table 10-3. filter count fcnt register bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 table 10-4. fcsr bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9 table 10-5. efcop alu control register (facr) bits . . . . . . . . . . . . . . . . . . . . . . . . . 10-12 table 10-6. decimation/channel count register (fdch) bits. . . . . . . . . . . . . . . . . . . . . 10-14 table 10-7. efcop interrupt vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 table 10-8. efcop dma request sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 table 10-9. efcop operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15 table 10-10. dma channel 0 regisister initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23 table 10-11. dma channel 1 register initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24 table b-1. guide to programming sheets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-1 table b-2. internal x i/o memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-2 table b-3. internal y i/o memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-7 table b-4. interrupt sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-8 table b-5. interrupt source priorities within an ipl . . . . . . . . . . . . . . . . . . . . . . . . . . . . b-10 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola overview 1- 1 chapter 1 overview this manual describes the dsp56311 24-bit digital signal processor (dsp), its memory, operating modes, and peripheral modules. the dsp56311 is an implementation of the dsp56300 core with a unique configuration of on-chip memory, cache, and peripherals. use this manual in conjunction with the dsp56300 family manual (dsp56300fm/ad), which describes the cpu, core programming models, and instruction set. the dsp56311 technical data (dsp56311/d) referred to as the data sheetprovides dsp56311 electrical specifications, timing, pinout, and packaging descriptions. you can obtain these documentsand the motorola dsp development toolsthrough a local motorola semiconductor sales office or authorized distributor. to receive the latest information on this dsp, access the motorola dsp home page at the address given on the back cover of this document. 1.1 manual organization this manual contains the following sections and appendices: n chapter 1, overview features list and block diagram, related documentation, organization of this manual, and the notational conventions used. n chapter 2, signals/connections dsp56311 signals and their functional groupings. n chapter 3, memory configuration dsp56311 memory spaces, ram configuration, memory configuration bit settings, memory configurations, and memory maps. n chapter 4, core configuration registers for configuring the dsp56300 core when programming the dsp56311, in particular the interrupt vector locations and the operation of the interrupt priority registers; operating modes and how they affect the processors program and data memories. n chapter 5, programming the peripherals guidelines on initializing the dsp56311 peripherals, including mapping control registers, specifying a method of transferring data, and configuring for general-purpose input/output (gpio). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 2 dsp56311 users manual motorola manual conventions n chapter 6, host interface (hi08) features, signals, architecture, programming model, reset, interrupts, external host programming model, initialization, and a quick reference to the hi08 programming model. n chapter 7, enhanced synchronous serial interface (essi) enhancements, data and control signals, programming model, operating modes, initialization, exceptions, and gpio. n chapter 8, serial communication interface (sci) signals, programming model, operating modes, reset, initialization, and gpio. n chapter 9, triple timer module architecture, programming model, and operating modes of three identical timer devices available for use as internals or event counters. n chapter 10, enhanced filter coprocessor (efcop) structure and function of the efcop, including features, architecture, and programming model; programming topics such as data transfer to and from the efcop, its use in different modes, and examples of usage. n appendix a, bootstrap code bootstrap code for the dsp56311. n appendix b, programming reference peripheral addresses, interrupt addresses, and interrupt priorities for the dsp56311; programming sheets listing the contents of the major dsp56311 registers for programmers reference. 1.2 manual conventions this manual uses the following conventions: n bits within registers are always listed from most significant bit (msb) to least significant bit (lsb). n bits within a register are indicated aa[n C m], n > m, when more than one bit is involved in a description. for purposes of description, the bits are presented as if they are contiguous within a register. however, this is not always the case. refer to the programming model diagrams or to the programmers sheets to see the exact location of bits within a register. n when a bit is described as set, its value is 1. when a bit is described as cleared, its value is 0. n the word assert means that a high true (active high) signal is pulled high to v cc or that a low true (active low) signal is pulled low to ground. the word deassert means that a high true signal is pulled low to ground or that a low true signal is pulled high to v cc . see table 1-1 . f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
manual conventions motorola overview 1- 3 1. pin is a generic term for any pin on the chip. 2. ground is an acceptable low voltage level. see the appropriate data sheet for the range of acceptable low voltage levels (typically a ttl logic low). 3. v cc is an acceptable high voltage level. see the appropriate data sheet for the range of acceptable high voltage levels (typically a ttl logic high). n pins or signals that are asserted low (made active when pulled to ground) are indicated like this in text: in text, they have an overbar: for example, reset is asserted low. in code examples, they have a tilde in front of their names. in example 1-1 , line 3 refers to the ss0 signal (shown as ~ss0 ). n sets of signals are indicated by the first and last signals in the set, for instance ha1Cha8. n input/output indicates a bidirectional signal. input or output indicates a signal that is exclusively one or the other. n code examples are displayed in a monospaced font, as shown in example 1-1 . n hex values are indicated with a dollar sign ($) preceding the hex value, as follows: $ffffff is the x memory address for the core interrupt priority register. table 1-1. high true/low true signal conventions signal/symbol logic state signal state voltage pin1 true asserted ground 2 pin false deasserted v cc 3 pin true asserted v cc pin false deasserted ground example 1-1. sample code listing bfset #$0007,x:pcc; configure: line 1 ; miso0, mosi0, sck0 for spi master line 2 ; ~ss0 as pc3 for gpio line 3 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 4 dsp56311 users manual motorola features n the word reset is used in four different contexts in this manual: the reset signal, written as reset the reset instruction, written as reset the reset operating state, written as reset the reset function, written as reset 1.3 features the motorola dsp56311, a member of the dsp56300 core family of programmable dsps, supports wireless infrastructure applications with general filtering operations. the on-chip efcop processes filter algorithms in parallel with core operation, thus increasing overall dsp performance and efficiency. like the other family members, the dsp56311 uses a high-performance, single-clock-cycle-per-instruction engine (code compatible with motorola's popular dsp56000 core family), a barrel shifter, 24-bit addressing, instruction cache, and dma controller. the dsp56311 offers 150 million instructions per second (mips) performance (255 mips using the efcop in filtering applications) using an internal 150 mhz clock with 1.8 v core and independent 3.3 v input/output (i/o) power. all dsp56300 core family members contain the dsp56300 core and additional modules. the modules are chosen from a library of standard predesigned elements, such as memories and peripherals. new modules can be added to the library to meet customer specifications. a standard interface between the dsp56300 core and the on-chip memory and peripherals supports a wide variety of memory and peripheral configurations. in particular, the dsp56311 includes motorolas jtag port and once module. the dsp56311, with its large on-chip memory array of 128k words and its efcop, is well suited for high-end multichannel telecommunication applications, such as wireless infrastructure, multi-line voice/data/fax processing, video conferencing, and general digital signal processing. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp56300 core motorola overview 1- 5 1.4 dsp56300 core core features are fully described in the dsp56300 family manual. (this manual, in contrast, documents pinout, memory, and peripheral features.) core features are as follows: n 150 mips (255 mips using the efcop in filtering applications) with a 150 mhz clock at 1.8 v n object code compatible with the dsp56000 core n highly parallel instruction set n large on-chip ram memory of 128k words n efcop running concurrently with the core, capable of executing 100 million filter taps per second at peak performance n hardware debugging support jtag test access port (tap) once module address trace mode reflects internal accesses at the external port n reduced power dissipation very low-power cmos design wait and stop low-power standby modes fully-static design specified to operate at 0 hz (dc) optimized power-management circuitry (instruction-dependent, peripheral-dependent, and mode-dependent) 1.5 dsp56300 core functional blocks the functional blocks of the dsp56300 core are: n data arithmetic logic unit (alu) n address generation unit n program control unit n pll and clock oscillator n jtag tap and once module n memory in addition, the dsp56311 provides a set of on-chip peripherals, discussed in section 1.9 , "peripherals," on page 1-12. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 6 dsp56311 users manual motorola dsp56300 core functional blocks 1.5.1 data alu the data alu performs all the arithmetic and logical operations on data operands in the dsp56300 core. these are the components of the data alu: n fully pipelined 24 ? 24-bit parallel multiplier-accumulator n bit field unit, comprising a 56-bit parallel barrel shifter (fast shift and normalization; bit stream generation and parsing) n conditional alu instructions n software-controllable 24-bit, 48-bit, or 56-bit arithmetic support n four 24-bit or 48-bit input general-purpose registers: x1, x0, y1, and y0 n six data alu registers (a2, a1, a0, b2, b1, and b0) that are concatenated into two general-purpose, 56-bit accumulators, a and b, accumulator shifters n two data bus shifter/limiter circuits 1.5.1.1 data alu registers the data alu registers are read or written over the x data bus and the y data bus as 16- or 32-bit operands. the source operands for the data alu can be 16, 32, or 40 bits and always originate from data alu registers. the results of all data alu operations are stored in an accumulator. data alu operations are performed in two clock cycles in a pipeline so that a new instruction can be initiated in every clock cycle, yielding an effective execution rate of one instruction per clock cycle. the destination of every arithmetic operation can be a source operand for the immediately following operation without penalty. 1.5.1.2 multiplier-accumulator (mac) the mac unit comprises the main arithmetic processing unit of the dsp56300 core and performs all of the calculations on data operands. for arithmetic instructions, the unit accepts as many as three input operands and outputs one 56-bit result of the following form: extension:most significant product:least significant product (ext:msp:lsp). the multiplier executes 24-bit ? 24-bit parallel, fractional multiplies between twos-complement signed, unsigned, or mixed operands. the 48-bit product is right-justified and added to the 56-bit contents of either the a or b accumulator. a 56-bit result can be stored as a 24-bit operand. the lsp is either truncated or rounded into the msp. rounding is performed if specified. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp56300 core functional blocks motorola overview 1- 7 1.5.2 address generation unit (agu) the agu performs the effective address calculations using integer arithmetic necessary to address data operands in memory and contains the registers that generate the addresses. it implements four types of arithmetic: linear, modulo, multiple wrap-around modulo, and reverse-carry. the agu operates in parallel with other chip resources to minimize address-generation overhead. the agu is divided into halves, each with its own identical address alu. each address alu has four sets of register triplets, and each register triplet includes an address register, offset register, and modifier register. each contains a 24-bit full adder (called an offset adder). a second full adder (called a modulo adder) adds the summed result of the first full adder to a modulo value that is stored in its respective modifier register. a third full adder (called a reverse-carry adder) is also provided. the offset adder and the reverse-carry adder work in parallel and share common inputs. the only difference between them is that the carry propagates in opposite directions. test logic determines which of the three summed results of the full adders is output. each address alu can update one address register from its own address register file during one instruction cycle. the contents of the associated modifier register specify the type of arithmetic used in the address register update calculation. the modifier value is decoded in the address alu. 1.5.3 program control unit (pcu) the pcu fetches and decodes instructions, controls hardware do loops, and processes exceptions. its seven-stage pipeline controls the different processing states of the dsp56300 core. the pcu consists of three hardware blocks: n program decode controller decodes the 24-bit instruction loaded into the instruction latch and generates all signals for pipeline control. n program address generator contains all the hardware needed for program address generation, system stack, and loop control. n program interrupt controller arbitrates among all interrupt requests (internal interrupts, as well as the five external requests irqa , irqb , irqc , irqd , and nmi ), and generates the appropriate interrupt vector address. pcu features include the following: n position-independent code support n addressing modes optimized for dsp applications (including immediate offsets) n on-chip instruction cache controller f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 8 dsp56311 users manual motorola dsp56300 core functional blocks n on-chip memory-expandable hardware stack n nested hardware do loops n fast auto-return interrupts n hardware system stack the pcu uses the following registers: n program counter register n status register n loop address register n loop counter register n vector base address register n size register n stack pointer n operating mode register n stack counter register 1.5.4 pll and clock oscillator the clock generator in the dsp56300 core comprises two main blocks: the pll, which performs clock input division, frequency multiplication, and skew elimination; and the clock generator, which performs low-power division and clock pulse generation. these features allow you to: n change the low-power divide factor without losing the lock n output a clock with skew elimination the pll allows the processor to operate at a high internal clock frequency using a low-frequency clock input, a feature that offers two immediate benefits: n a lower-frequency clock input reduces the overall electromagnetic interference generated by a system. n the ability to oscillate at different frequencies reduces costs by eliminating the need to add additional oscillators to a system. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp56300 core functional blocks motorola overview 1- 9 1.5.5 jtag tap and once module in the dsp56300 core is a dedicated user-accessible tap that is fully compatible with the ieee 1149.1 standard test access port and boundary scan architecture . problems with testing high-density circuit boards led to the development of this standard under the sponsorship of the test technology committee of ieee and the jtag. the dsp56300 core implementation supports circuit-board test strategies based on this standard. the test logic includes a tap with four dedicated signals, a 16-state controller, and three test data registers. a boundary scan register links all device signals into a single shift register. the test logic, implemented utilizing static logic design, is independent of the device system logic. for details on the jtag port, consult the dsp56300 family manual . the once module interacts with the dsp56300 core and its peripherals nonintrusively so that you can examine registers, memory, or on-chip peripherals. this facilitates hardware and software development on the dsp56300 core processor. once module functions are provided through the jtag tap signals. for details on the once module, consult the dsp56300 family manual . 1.5.6 on-chip memory the memory space of the dsp56300 core is partitioned into program, x data, and y data memory space. the data memory space is divided into x and y data memory in order to work with the two address alus and to feed two operands simultaneously to the data alu. memory space includes internal ram and rom and can be expanded off-chip under software control. there is an on-chip 192 x 24-bit bootstrap rom. for details on internal memory, see chapter 3, memory configuration . program ram, instruction cache, x data ram, and y data ram size are programmable, as table 1-2 shows. table 1-2. dsp56311 switch memory configuration program ram size instruction cache size x data ram size* y data ram size* instruction cache (ce) switch mode (ms) msw1 msw0 32 k ? 24-bit 0 48 k ? 24-bit 48 k ? 24-bit disabled disabled 0/1 0/1 31 k ? 24-bit 1024 ? 24-bit 48 k ? 24-bit 48 k ? 24-bit enabled disabled 0/1 0/1 96 k ? 24-bit 0 16 k ? 24-bit 16 k ? 24-bit disabled enabled 0 0 95 k ? 24-bit 1024 ? 24-bit 16 k ? 24-bit 16 k ? 24-bit enabled enabled 0 0 80 k ? 24-bit 0 24 k ? 24-bit 24 k ? 24-bit disabled enabled 0 1 79 k ? 24-bit 1024 ? 24-bit 24 k ? 24-bit 24 k ? 24-bit enabled enabled 0 1 64 k ? 24-bit 0 32 k ? 24-bit 32 k ? 24-bit disabled enabled 1 0 63 k ? 24-bit 1024 ? 24-bit 32 k ? 24-bit 32 k ? 24-bit enabled enabled 1 0 48 k ? 24-bit 0 40 k ? 24-bit 40 k ? 24-bit disabled enabled 1 1 47 k ? 24-bit 1024 ? 24-bit 40 k ? 24-bit 40 k ? 24-bit enabled enabled 1 1 *includes 10 k ? 24-bit shared memory (i.e., memory shared by the core and the efcop) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 10 dsp56311 users manual motorola internal buses 1.5.7 off-chip memory expansion memory can be expanded off chip to the following capacities: n data memory expansion to two 256k ? 24-bit word memory spaces (or up to two 4m x 24-bit word memory spaces by using the address attribute aa0 C aa3 signals) n program memory expansion to one 256k ? 24-bit word memory space (or up to one 4m x 24-bit word memory spaces by using the address attribute aa0 C aa3 signals) further features of off-chip memory include the following: n external memory expansion port n simultaneous glueless interface to static ram (sram) and dynamic ram (dram) 1.6 internal buses to provide data exchange between the blocks, the dsp56311 implements the following buses: n peripheral i/o expansion bus to peripherals n program memory expansion bus to program rom n x memory expansion bus to x memory n y memory expansion bus to y memory n global data bus between pcu and other core structures n program data bus for carrying program data throughout the core n x memory data bus for carrying x data throughout the core n y memory data bus for carrying y data throughout the core n program address bus for carrying program memory addresses throughout the core n x memory address bus for carrying x memory addresses throughout the core n y memory address bus for carrying y memory addresses throughout the core. the block diagram in figure 1-1 illustrates these buses among other components. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
block diagram motorola overview 1- 11 1.7 block diagram all internal buses on the dsp56300 family members are 24-bit buses. the program data bus is also a 24-bit bus. figure 1-1 shows a block diagram of the dsp56311. figure1-1. dsp56311 block diagram note: see section 1.5.6 , on-chip memory, on page 1-9 for details on memory size. pll once? clock gen- erator ya b xab pab ydb xdb pdb gdb modb/irqb modc/irqc external data bus switch 13 modd/irqd dsp56300 6 16 24-bit 24 18 ddb dab peripheral core ym_eb xm_eb pm_eb pio_eb expansion area 6 jtag 5 3 reset moda/irqa pinit/nmi 2 extal xtal address control data address generation unit six channel dma unit program interrupt controller program decode controller program address generator data alu 24 ? 24 + 56 ? 56-bit mac two 56-bit accumulators 56-bit barrel shifter power mngmnt. external bus interface and i - cache control memory expansion area de program ram 32k ? 24 or x data ram 48k ? 24 y data ram 48k ? 24 external address bus switch sci interface enhanced filter co- efcop processor essi interface host interface hi08 triple timer (program ram 31k ? 24 and instruction cache 1024 ? 24) bootstrap rom internal data bus switch f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 12 dsp56311 users manual motorola dma 1.8 dma the dma block has the following features: n six dma channels supporting internal and external accesses n one-, two-, and three-dimensional transfers (including circular buffering) n end-of-block-transfer interrupts n triggering from interrupt lines and all peripherals 1.9 peripherals in addition to the core features, the dsp56311 provides the following peripherals: n as many as 34 user-configurable gpio signals n hi08 to external hosts n dual essi n sci n triple timer module n memory switch mode n four external interrupt/mode control lines 1.9.1 gpio functionality the gpio port consists of up to 34 programmable signals, also used by the peripherals (hi08, essi, sci, and timer). there are no dedicated gpio signals. after a reset, the signals are automatically configured as gpio. three memory-mapped registers per peripheral control gpio functionality. programming techniques for these registers to control gpio functionality are detailed in chapter 5, programming the peripherals . 1.9.2 hi08 the hi08 is a byte-wide, full-duplex, double-buffered parallel port that can connect directly to the data bus of a host processor. the hi08 supports a variety of buses and provides connection with a number of industry-standard dsps, microcomputers, and microprocessors without requiring any additional logic. the dsp core treats the hi08 as a memory-mapped peripheral occupying eight 24-bit words in data memory space. the dsp can use the hi08 as a memory-mapped peripheral, using either standard polled or interrupt programming techniques. separate double-buffered transmit and receive data registers allow the dsp and host processor to transfer data efficiently at high speed. memory f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
peripherals motorola overview 1- 13 mapping allows you to program dsp core communication with the hi08 registers using standard instructions and addressing modes. 1.9.3 essi the dsp56311 provides two independent and identical essis. each essi has a full-duplex serial port for communication with a variety of serial devices, including one or more industry-standard codecs, other dsps, microprocessors, and peripherals that implement the motorola spi. the essi consists of independent transmitter and receiver sections and a common essi clock generator. essi capabilities include the following: n independent (asynchronous) or shared (synchronous) transmit and receive sections with separate or shared internal/external clocks and frame syncs n normal mode operation using frame sync n network mode operation with as many as 32 time slots n programmable word length (8, 12, or 16 bits) n program options for frame synchronization and clock generation n one receiver and three transmitters per essi 1.9.4 sci the sci provides a full-duplex port for serial communication with other dsps, microprocessors, or peripherals such as modems. the sci interfaces without additional logic to peripherals that use ttl-level signals. with a small amount of additional logic, the sci can connect to peripheral interfaces that have non-ttl level signals, such as the rs-232c, rs-422, etc. this interface uses three dedicated signals: transmit data, receive data, and sci serial clock. it supports industry-standard asynchronous bit rates and protocols, as well as high-speed synchronous data transmission (up to 12.5 mbps for a 100 mhz clock). sci asynchronous protocols include a multidrop mode for master/slave operation with wakeup on idle line and wakeup on address bit capability. this mode allows the dsp56311 to share a single serial line efficiently with other peripherals. separate sci transmit and receive sections can operate asynchronously with respect to each other. a programmable baud-rate generator provides the transmit and receive clocks. an enable vector and an interrupt vector allow the baud-rate generator to function as a general-purpose timer when the sci is not using it or when the interrupt timing is the same as that used by the sci. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
1- 14 dsp56311 users manual motorola peripherals 1.9.5 timer module the triple timer module is composed of a common 21-bit prescaler and three independent and identical general-purpose 24-bit timer/event counters, each with its own memory-mapped register set. each timer has the following properties: n a single signal that can function as a gpio signal or as a timer signal n uses internal or external clocking and can interrupt the dsp after a specified number of events (clocks) or signal an external device after counting internal events n connection to the external world through one bidirectional signal. when this signal is configured as an input, the timer functions as an external event counter or measures external pulse width/signal period. when the signal is used as an output, the timer functions as either a timer, a watchdog, or a pulse width modulator. 1.9.6 efcop the efcop interfaces with the dsp core via the peripheral module bus. it is a general-purpose, fully programmable coprocessor that performs filtering tasks concurrently with the dsp core, with minimum core overhead. the dsp core and the efcop can share data via an 8k-word shared data memory. dma channels shuttle input and output data between the dsp core and the efcop. the efcop supports a variety of filter modes, some of which are optimized for cellular base station applications: n real finite impulse response (fir) with real taps n complex fir with complex taps n complex fir generating pure real or pure imaginary outputs alternately n a 4-bit decimation factor in fir filters, thus providing a decimation ratio up to 16 n direct form 1 (dfi) infinite impulse response (iir) filter n direct form 2 (dfii) iir filter n four scaling factors (1, 4, 8, 16) for iir output n adaptive fir filter with true least mean square (lms) coefficient updates n adaptive fir filter with delayed lms coefficient updates the efcop supports up to 10k taps and 10k coefficients in any combination of number and length of filters (e.g., eight filters of length 512, or 16 filters of length 256). it performs either 24-bit or 16-bit precision arithmetic with full support for saturation arithmetic. a cost-effective and power-efficient coprocessor, the efcop accelerates filtering tasks, such as echo cancellation or correlation, concurrently with software running on the dsp core. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola signals/connections 2- 1 chapter 2 signals/connections the dsp56311 input and output signals are organized into functional groups, as shown in table 2-1 and illustrated in figure 2-1 . table 2-1. dsp56311 functional signal groupings functional group number of signals description power (v cc )20 table 2-2 ground (gnd) 19 table 2-3 clock 2 table 2-4 pll 3 table 2-5 address bus port a 1 18 table 2-6 data bus 24 table 2-7 bus control 13 table 2-8 interrupt and mode control 5 table 2-9 hi08 port b 2 16 table 2-10 essi ports c and d 3 12 table 2-11 table 2-12 sci port e 4 3 table 2-13 timer 5 3 table 2-14 once/jtag port 6 table 2-15 notes: 1. port a signals define the external memory interface port, including the external address bus, data bus, and control signals. the data bus lines have internal keepers. 2. port b signals are the hi08 port signals multiplexed with the gpio signals. all port b signals have keepers. 3. port c and d signals are the two essi port signals multiplexed with the gpio signals. all port c and d signals have keepers. 4. port e signals are the sci port signals multiplexed with the gpio signals. all port c signals have keepers. 5. all timer signals have keepers. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 2 dsp56311 users manual motorola note: the clock output ( clkout ) is not functional in the dsp56311. the clkout output pin provides a 50 percent duty cycle output clock synchronized to the internal processor clock when the phase lock loop (pll) is enabled and locked. at 150 mhz and above, clkout produces a low-amplitude waveform that is not usable externally by other devices. several alternatives to using clkout exist, such as enabling bus arbitration by setting the asynchronous bus arbitration enable bit (abe) in the operating mode register. when set, the abe bit eliminates the setup and hold time requirements with respect to clkout for bb and bg . f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola signals/connections 2- 3 figure 2-1. signals identified by functional group notes: 1. the hi08 port supports a non-multiplexed or a multiplexed bus, single or double data strobe (ds), and single or double host request (hr) configurations. since each of these modes is configured independently, any combination of these modes is possible. these hi08 signals can also be configured alternately as gpio signals (pb0Cpb15). signals with dual designations (e.g., has /has) have configurable polarity. 2. the essi0, essi1, and sci signals are multiplexed: essi0 with the port c gpio signals (pc0Cpc5), essi1 with port d gpio signals (pd0Cpd5), and sci with port e gpio signals (pe0Cpe2). 3. tio0Ctio2 can be configured as gpio signals. dsp56311 24 18 external address bus external data bus external bus control enhanced synchronous serial interface port 0 (essi0) 2 timers 3 pll once/jtag port power inputs: pll core logic i/o address bus data bus bus control hi08 essi/sci/timer a0Ca17 d0Cd23 aa0Caa3 / ras0Cras3 rd wr ta br bg bb cas tck tdi tdo tms trst de pcap after reset nmi v ccp v ccql v ccqh v cca v ccd v ccc v cch v ccs 4 serial communications interface (sci) port 2 4 2 2 grounds: pll pll internal logic address bus data bus bus control hi08 essi/sci/timer gnd p gnd p1 gnd q gnd a gnd d gnd c gnd h gnd s 4 4 4 2 interrupt/mode control moda modb modc modd reset host interface (hi08) port1 h0Ch7 ha0 ha1 ha2 hcs /hcs single ds hrw hds /hds single hr hreq /hreq hack /hack rxd txd sclk sc00Csc02 sck0 srd0 std0 tio0 tio1 tio2 8 3 3 2 extal xtal clock enhanced synchronous serial interface port 1 (essi1) 2 sc10Csc12 sck1 srd1 std1 3 had0 Chad7 has /has ha8 ha9 ha10 double ds hrd / hrd hwr /hwr zdouble hr htrq/ htrq hrrq /hrrq port b gpio pb0Cpb7 pb8 pb9 pb10 pb13 pb11 pb12 pb14 pb15 port e gpio pe0 pe1 pe2 port c gpio pc0Cpc2 pc3 pc4 pc5 port d gpio pd0Cpd2 pd3 pd4 pd5 timer gpio tio0 tio1 tio2 port a 4 irqa irqb irqc irqd pinit 3 reset during rese t after reset reset during non-multiplexed bus multiplexed bus f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 4 dsp56311 users manual motorola power 2.1 power 2.2 ground table 2-2. power inputs power name description v ccp pll power vcc dedicated for pll use. the voltage should be well-regulated and the input should be provided with an extremely low impedance path to the v cc power rail. v ccql quiet core (low) power an isolated power for the core processing logic. this input must be isolated externally from all other chip power inputs. the user must provide adequate external decoupling capacitors. v ccqh quiet external (high) power a quiet power source for i/o lines. this input must be tied externally to all other chip power inputs, except v ccql . the user must provide adequate decoupling capacitors. v cca address bus power an isolated power for sections of the address bus i/o drivers. this input must be tied externally to all other chip power inputs, except v ccql . the user must provide adequate external decoupling capacitors. v ccd data bus power an isolated power for sections of the data bus i/o drivers. this input must be tied externally to all other chip power inputs, except v ccql . the user must provide adequate external decoupling capacitors. v ccc bus control power an isolated power for the bus control i/o drivers. this input must be tied externally to all other chip power inputs, except v ccql . the user must provide adequate external decoupling capacitors. v cch host power an isolated power for the hi08 i/o drivers. this input must be tied externally to all other chip power inputs, except v ccql . the user must provide adequate external decoupling capacitors. v ccs essi, sci, and timer power an isolated power for the essi, sci, and timer i/o drivers. this input must be tied externally to all other chip power inputs, except v ccql . the user must provide adequate external decoupling capacitors. table 2-3. ground signals ground name description gnd p pll ground a ground dedicated for pll use. the connection should be provided with an extremely low-impedance path to ground. v ccp should be bypassed to gnd p by a 0.47 m f capacitor located as close as possible to the chip package. gnd p1 pll ground 1 a ground dedicated for pll use. the connection should be provided with an extremely low-impedance path to ground. gnd q quiet ground an isolated ground for the internal processing logic. this connection must be tied externally to all other chip ground connections. the user must provide adequate external decoupling capacitors. gnd a address bus ground an isolated ground for sections of the address bus i/o drivers. this connection must be tied externally to all other chip ground connections. the user must provide adequate external decoupling capacitors. there are four gnd a connections. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
clock motorola signals/connections 2- 5 2.3 clock note: the clock output ( clkout ) is not functional in the dsp56311. the clkout output pin provides a 50 percent duty cycle output clock synchronized to the internal processor clock when the phase lock loop (pll) is enabled and locked. at 150 mhz and above, clkout produces a low-amplitude waveform that is not usable externally by other devices. several alternatives to using clkout exist, such as enabling bus arbitration by setting the asynchronous bus arbitration enable bit (abe) in the operating mode register. when set, the abe bit eliminates the setup and hold time requirements with respect to clkout for bb and bg . gnd d data bus ground an isolated ground for sections of the data bus i/o drivers. this connection must be tied externally to all other chip ground connections. the user must provide adequate external decoupling capacitors. gnd c bus control ground an isolated ground for the bus control i/o drivers. this connection must be tied externally to all other chip ground connections. the user must provide adequate external decoupling capacitors. gnd h host ground an isolated ground for the hi08 i/o drivers. this connection must be tied externally to all other chip ground connections. the user must provide adequate external decoupling capacitors. gnd s essi, sci, and timer ground an isolated ground for the essi, sci, and timer i/o drivers. this connection must be tied externally to all other chip ground connections. the user must provide adequate external decoupling capacitors. table 2-4. clock signals signal name type state during reset signal description extal input input external clock/crystal inpu textal interfaces the internal crystal oscillator input to an external crystal or an external clock. xtal output chip-driven crystal output xtal connects the internal crystal oscillator output to an external crystal. if an external clock is used, leave xtal unconnected. table 2-3. ground (continued)signals ground name description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 6 dsp56311 users manual motorola pll 2.4 pll 2.5 external memory expansion port (port a) when the dsp56311 enters a low-power standby mode (stop or wait), it releases bus mastership and tri-states the relevant port a signals: a0 C a17 , d0 C d23 , aa0 / ras0 C aa3 / ras3 , rd , wr , bb , cas . 2.5.1 external address bus table 2-5. phase-locked loop signals signal name type state during reset signal description pcap input input pll capacitor pcap is an input connecting an off-chip capacitor to the pll filter. connect one capacitor terminal to pcap and the other terminal to v ccp . if the pll is not used, pcap may be tied to v cc , gnd, or left floating. pinit nmi input input input pll initial during assertion of reset , the value of pinit is written into the pll enable (pen) bit of the pll control (pctl) register, determining whether the pll is enabled or disabled. nonmaskable interrupt after reset deassertion and during normal instruction processing, this schmitt-trigger input is the negative-edge-triggered nmi request internally synchronized to the internal clock. table 2-6. external address bus signals signal name type state during reset signal description a0Ca17 output tri-stated address bus when the dsp is the bus master, a0Ca17 are active-high outputs that specify the address for external program and data memory accesses. otherwise, the signals are tri-stated. to minimize power dissipation, a0Ca17 do not change state when external memory spaces are not being accessed. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
external memory expansion port (port a) motorola signals/connections 2- 7 2.5.2 external data bus 2.5.3 external bus control table 2-7. external data bus signals signal name type state during reset signal description d0Cd23 input/ output tri-stated data bus when the dsp is the bus master, d0Cd23 are active-high, bidirectional input/outputs that provide the bidirectional data bus for external program and data memory accesses. otherwise, d0Cd23 are tri-stated. these lines have weak keepers to maintain the last state even if all drivers are tri-stated. table 2-8. external bus control signals signal name type state during reset signal description aa0Caa3 ras0 C ras3 output output tri-stated address attribute when defined as aa, these signals can be used as chip selects or additional address lines. the default use defines a priority scheme under which only one aa signal can be asserted at a time. setting the aa priority disable (apd) bit (bit 14) of the omr, the priority mechanism is disabled and the lines can be used together as four external lines that can be decoded externally into 16 chip select signals. row address strobe when defined as ras , these signals can be used as ras for dram interface. these signals are tri-statable outputs with programmable polarity. rd output tri-stated read enable when the dsp is the bus master, rd is an active-low output that is asserted to read external memory on the data bus (d0Cd23). otherwise, rd is tri-stated. wr output tri-stated write enable when the dsp is the bus master, wr is an active-low output that is asserted to write external memory on the data bus (d0Cd23). otherwise, the signals are tri-stated. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 8 dsp56311 users manual motorola external memory expansion port (port a) ta input ignored input transfer acknowledge if the dsp56311 is the bus master and there is no external bus activity, or the dsp56311 is not the bus master, the ta input is ignored. the ta input is a data transfer acknowledge (dtack) function that can extend an external bus cycle indefinitely. any number of wait states (1, 2. . .infinity) may be added to the wait states inserted by the bus control register (bcr) by keeping ta deasserted. in typical operation, ta is deasserted at the start of a bus cycle, is asserted to enable completion of the bus cycle, and is deasserted before the next bus cycle. the current bus cycle completes one clock period after ta is asserted synchronous to the internal clock. the number of wait states is determined by the ta input or by the bcr, whichever is longer. the bcr can be used to set the minimum number of wait states in external bus cycles. to use the ta functionality, the bcr must be programmed to at least one wait state. a zero wait state access cannot be extended by ta deassertion; otherwise, improper operation may result. ta can operate synchronously or asynchronously depending on the setting of the omr[tas] bit. ta functionality must not be used while dram accesses are performed; otherwise, improper operation may result. br output output (deasserted) bus request an active-low output, never tri-stated. br is asserted when the dsp requests bus mastership. br is deasserted when the dsp no longer needs the bus. br may be asserted or deasserted independently of whether the dsp56311 is a bus master or a bus slave. bus parking allows br to be deasserted even though the dsp56311 is the bus master. (see the description of bus parking in the bb signal description.) the bus request hole (brh) bit in the bcr allows br to be asserted under software control even though the dsp does not need the bus. br is typically sent to an external bus arbitrator that controls the priority, parking, and tenure of each master on the same external bus. br is only affected by dsp requests for the external bus, never for the internal bus. during hardware reset, br is deasserted and the arbitration is reset to the bus slave state. table 2-8. external bus control signals (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
interrupt and mode control motorola signals/connections 2- 9 2.6 interrupt and mode control the interrupt and mode control signals select the chips operating mode as it comes out of hardware reset. after reset is deasserted, these inputs are hardware interrupt request lines. bg input ignored input bus grant an active-low input. bg must be asserted/deasserted synchronous to the internal clock for proper operation. bg is asserted by an external bus arbitration circuit when the dsp56311 becomes the next bus master. when bg is asserted, the dsp56311 must wait until bb is deasserted before taking bus mastership. when bg is deasserted, bus mastership is typically given up at the end of the current bus cycle. this may occur in the middle of an instruction that requires more than one external bus cycle for execution. the default operation of this bit requires a setup and hold time as specified in dsp56311 technical data (the data sheet). an alternate mode can be invoked: set the asynchronous bus arbitration enable (abe) bit (bit 13) in the omr. when this bit is set, bg and bb are synchronized internally. this eliminates the respective setup and hold time requirements but adds a required delay between the deassertion of an initial bg input and the assertion of a subsequent bg input. bb input/ output input bus busy a bidirectional active-low input/output. must be asserted and deasserted synchronous to the internal clock. bb indicates that the bus is active. only after bb is deasserted can the pending bus master become the bus master (and then assert the signal again). the bus master may keep bb asserted after ceasing bus activity regardless of whether br is asserted or deasserted. called bus parking, this allows the current bus master to reuse the bus without rearbitration until another device requires the bus. the deassertion of bb is done by an active pull-up method (i.e., bb is driven high and then released and held high by an external pull-up resistor). the default operation of this bit requires a setup and hold time as specified in the dsp56311 technical data sheet . an alternate mode can be invoked: set the abe bit (bit 13) in the omr. when this bit is set, bg and bb are synchronized internally. see bg for additional information. note: bb requires an external pull-up resistor. cas output tri-stated column address strobe when the dsp is the bus master, cas is an active-low output used by dram to strobe the column address. otherwise, if the bus mastership enable (bme) bit in the dram control register is cleared, the signal is tri-stated. table 2-8. external bus control signals (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 10 dsp56311 users manual motorola interrupt and mode control table 2-9. interrupt and mode control signal name type state during reset signal description reset input input reset an active-low, schmitt-trigger input. deassertion of reset is internally synchronized to the internal clock. when asserted, the chip is placed in the reset state and the internal phase generator is reset. the schmitt-trigger input allows a slowly rising input (such as a capacitor charging) to reset the chip reliably. if reset is deasserted synchronous to the internal clock, exact start-up timing is guaranteed, allowing multiple processors to start synchronously and operate together in lock-step. when the reset signal is deasserted, the initial chip operating mode is latched from the moda, modb, modc, and modd inputs. the reset signal must be asserted after power up. moda irqa input input input mode select a an active-low schmitt-trigger input, internally synchronized to the internal clock. moda, modb, modc, and modd select one of 16 initial chip operating modes, latched into the omr when the reset signal is deasserted. external interrupt request a after reset, this input becomes a level-sensitive or negative-edge-triggered, maskable interrupt request input during normal instruction processing. if irqa is asserted synchronous to the internal clock, multiple processors can be resynchronized using the wait instruction and asserting irqa to exit the wait state. if the processor is in the stop standby state and irqa is asserted, the processor will exit the stop state. modb irqb input input input mode select b an active-low schmitt-trigger input, internally synchronized to the internal clock. moda, modb, modc, and modd select one of 16 initial chip operating modes, latched into the omr when the reset signal is deasserted. external interrupt request b after reset, this input becomes a level-sensitive or negative-edge-triggered, maskable interrupt request input during normal instruction processing. if irqb is asserted synchronous to the internal clock, multiple processors can be resynchronized using the wait instruction and asserting irqb to exit the wait state. if the processor is in the stop standby state and irqb is asserted, the processor will exit the stop state. modc irqc input input input mode select c an active-low schmitt-trigger input, internally synchronized to the internal clock. moda, modb, modc, and modd select one of 16 initial chip operating modes, latched into the omr when the reset signal is deasserted. external interrupt request c after reset, this input becomes a level-sensitive or negative-edge-triggered, maskable interrupt request input during normal instruction processing. if irqc is asserted synchronous to the internal clock, multiple processors can be resynchronized using the wait instruction and asserting irqc to exit the wait state. if the processor is in the stop standby state and irqc is asserted, the processor will exit the stop state. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
hi08 motorola signals/connections 2- 11 2.7 hi08 the hi08 provides a fast parallel-data-to-8-bit port that connects directly to the host bus. the hi08 supports a variety of standard buses and can directly connect to a number of industry-standard microcomputers, microprocessors, dsps, and dma hardware. modd irqd input input input mode select d an active-low schmitt-trigger input, internally synchronized to the internal clock. moda, modb, modc, and modd select one of 16 initial chip operating modes, latched into the omr when the reset signal is deasserted. external interrupt request d after reset, this input becomes a level-sensitive or negative-edge-triggered, maskable interrupt request input during normal instruction processing. if irqd is asserted synchronous to the internal clock, multiple processors can be resynchronized using the wait instruction and asserting irqd to exit the wait state. if the processor is in the stop standby state and irqd is asserted, the processor will exit the stop state. table 2-10. host interface signal name type state during reset signal description h0Ch7 had0Chad7 pb0Cpb7 input/ output input/ output input or output tri-stated host data when the hi08 is programmed to interface a nonmultiplexed host bus and the hi function is selected, these signals are lines 0C7 of the data bidirectional, tri-state bus. host address when hi08 is programmed to interface a multiplexed host bus and the hi function is selected, these signals are lines 0C7 of the address/data bidirectional, multiplexed, tri-state bus. port b 0C7 when the hi08 is configured as gpio through the host port control register (hpcr), these signals are individually programmed as inputs or outputs through the hi08 data direction register (hddr). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. table 2-9. interrupt and mode control (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 12 dsp56311 users manual motorola hi08 ha0 has /has pb8 input input input or output input host address input 0 when the hi08 is programmed to interface a nonmultiplexed host bus and the hi function is selected, this signal is line 0 of the host address input bus. host address strobe when hi08 is programmed to interface a multiplexed host bus and the hi function is selected, this signal is the host address strobe (has) schmitt-trigger input. the polarity of the address strobe is programmable but is configured active-low (has ) following reset. port b 8 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. ha1 ha8 pb9 input input input or output input host address input 1 when the hi08 is programmed to interface a nonmultiplexed host bus and the hi function is selected, this signal is line 1 of the host address (ha1) input bus. host address 8 when hi08 is programmed to interface a multiplexed host bus and the hi function is selected, this signal is line 8 of the host address (ha8) input bus. port b 9 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. ha2 ha9 pb10 input input input or output input host address input 2 when the hi08 is programmed to interface a nonmultiplexed host bus and the hi function is selected, this signal is line 2 of the host address (ha2) input bus. host address 9 when hi08 is programmed to interface a multiplexed host bus and the hi function is selected, this signal is line 9 of the host address (ha9) input bus. port b 10 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. table 2-10. host interface (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
hi08 motorola signals/connections 2- 13 hrw hrd /hrd pb11 input input input or output input host read/write when hi08 is programmed to interface a single-data-strobe host bus and the hi function is selected, this signal is the host read/write (hrw) input. host read data when hi08 is programmed to interface a double-data-strobe host bus and the hi function is selected, this signal is the hrd strobe schmitt-trigger input. the polarity of the data strobe is programmable, but is configured as active-low ( hrd ) after reset. port b 11 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. hds /hds hwr /hwr pb12 input input input or output input host data strobe when hi08 is programmed to interface a single-data-strobe host bus and the hi function is selected, this signal is the host data strobe (hds) schmitt-trigger input. the polarity of the data strobe is programmable, but is configured as active-low (hds ) following reset. host write data when hi08 is programmed to interface a double-data-strobe host bus and the hi function is selected, this signal is the host write data strobe (hwr) schmitt-trigger input. the polarity of the data strobe is programmable, but is configured as active-low (hwr ) following reset. port b 12 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. hcs ha10 pb13 input input input or output input host chip select when hi08 is programmed to interface a nonmultiplexed host bus and the hi function is selected, this signal is the host chip select (hcs) input. the polarity of the chip select is programmable, but is configured active-low ( hcs ) after reset. host address 10 when hi08 is programmed to interface a multiplexed host bus and the hi function is selected, this signal is line 10 of the host address (ha10) input bus. port b 13 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. table 2-10. host interface (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 14 dsp56311 users manual motorola enhanced synchronous serial interface 0 2.8 enhanced synchronous serial interface 0 two synchronous serial interfaces (essi0 and essi1) provide a full-duplex serial port for serial communication with a variety of serial devices, including one or more industry-standard codecs, other dsps, microprocessors, and peripherals that implement the motorola serial peripheral interface (spi). hreq /hreq htrq /htrq pb14 output output input or output input host request when hi08 is programmed to interface a single host request host bus and the hi function is selected, this signal is the host request (hreq) output. the polarity of the host request is programmable, but is configured as active-low (hreq ) following reset. the host request may be programmed as a driven or open-drain output. transmit host request when hi08 is programmed to interface a double host request host bus and the hi function is selected, this signal is the transmit host request (htrq) output. the polarity of the host request is programmable, but is configured as active-low (htrq ) following reset. the host request may be programmed as a driven or open-drain output. port b 14 when the hi08 is programmed to interface a multiplexed host bus and the signal is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. hack / hack hrrq / hrrq pb15 input output input or output input host acknowledge when hi08 is programmed to interface a single host request host bus and the hi function is selected, this signal is the host acknowledge (hack) schmitt-trigger input. the polarity of the host acknowledge is programmable, but is configured as active-low (hack ) after reset. receive host request when hi08 is programmed to interface a double host request host bus and the hi function is selected, this signal is the receive host request (hrrq) output. the polarity of the host request is programmable, but is configured as active-low (hrrq ) after reset. the host request may be programmed as a driven or open-drain output. port b 15 when the hi08 is configured as gpio through the hpcr, this signal is individually programmed as an input or output through the hddr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. table 2-10. host interface (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
enhanced synchronous serial interface 0 motorola signals/connections 2- 15 table 2-11. enhanced synchronous serial interface 0 signal name type state during reset signal description sc00 pc0 input or output input serial control 0 the function of sc00 is determined by the selection of either synchronous or asynchronous mode. for asynchronous mode, this signal will be used for the receive clock i/o (schmitt-trigger input). for synchronous mode, this signal is used either for transmitter 1 output or for serial i/o flag 0. port c 0 the default configuration following reset is gpio input pc0. when configured as pc0, signal direction is controlled through the port directions register (prr0). the signal can be configured as essi signal sc00 through the port control register (pcr0). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. sc01 pc1 input/ output input or output input serial control 1 the function of this signal is determined by the selection of either synchronous or asynchronous mode. for asynchronous mode, this signal is the receiver frame sync i/o. for synchronous mode, this signal is used either for transmitter 2 output or for serial i/o flag 1. port c 1 the default configuration following reset is gpio input pc1. when configured as pc1, signal direction is controlled through prr0. the signal can be configured as an essi signal sc01 through pcr0. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. sc02 pc2 input/ output input or output input serial control signal 2 used for frame sync i/o. sc02 is the frame sync for both the transmitter and receiver in synchronous mode, and for the transmitter only in asynchronous mode. when configured as an output, this signal is the internally generated frame sync signal. when configured as an input, this signal receives an external frame sync signal for the transmitter (and the receiver in synchronous operation). port c 2 the default configuration following reset is gpio input pc2. when configured as pc2, signal direction is controlled through prr0. the signal can be configured as an essi signal sc02 through pcr0. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 16 dsp56311 users manual motorola enhanced synchronous serial interface 0 sck0 pc3 input/ output input or output input serial clock a bidirectional schmitt-trigger input signal providing the serial bit rate clock for the essi. the sck0 is a clock input or output, used by both the transmitter and receiver in synchronous modes or by the transmitter in asynchronous modes. although an external serial clock can be independent of and asynchronous to the dsp system clock, it must exceed the minimum clock cycle time of 6t (i.e., the system clock frequency must be at least three times the external essi clock frequency). the essi needs at least three dsp phases inside each half of the serial clock. port c 3 the default configuration following reset is gpio input pc3. when configured as pc3, signal direction is controlled through prr0. the signal can be configured as an essi signal sck0 through pcr0. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. srd0 pc4 input/ output input or output input serial receive data receives serial data and transfers the data to the essi receive shift register. srd0 is an input when data is being received. port c 4 the default configuration following reset is gpio input pc4. when configured as pc4, signal direction is controlled through prr0. the signal can be configured as an essi signal srd0 through pcr0. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. std0 pc5 input/ output input or output input serial transmit data transmits data from the serial transmit shift register. std0 is an output when data is transmitted. port c 5 the default configuration following reset is gpio input pc5. when configured as pc5, signal direction is controlled through prr0. the signal can be configured as an essi signal std0 through pcr0. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. table 2-11. enhanced synchronous serial interface 0 (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
enhanced synchronous serial interface 1 motorola signals/connections 2- 17 2.9 enhanced synchronous serial interface 1 table 2-12. enhanced serial synchronous interface 1 signal name type state during reset signal description sc10 pd0 input or output input or output input serial control 0 the function of sc10 is determined by the selection of either synchronous or asynchronous mode. for asynchronous mode, this signal will be used for the receive clock i/o (schmitt-trigger input). for synchronous mode, this signal is used either for transmitter 1 output or for serial i/o flag 0. port d 0 the default configuration following reset is gpio input pd0. when configured as pd0, signal direction is controlled through the port directions register (prr1). the signal can be configured as an essi signal sc10 through the port control register (pcr1). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. sc11 pd1 input/ output input or output input serial control 1 the function of this signal is determined by the selection of either synchronous or asynchronous mode. for asynchronous mode, this signal is the receiver frame sync i/o. for synchronous mode, this signal is used either for transmitter 2 output or for serial i/o flag 1. port d 1 the default configuration following reset is gpio input pd1. when configured as pd1, signal direction is controlled through prr1. the signal can be configured as an essi signal sc11 through pcr1. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. sc12 pd2 input/ output input or output input serial control signal 2 for frame sync i/o. sc12 is the frame sync for both the transmitter and receiver in synchronous mode, and for the transmitter only in asynchronous mode. when configured as an output, this signal is the internally generated frame sync signal. when configured as an input, this signal receives an external frame sync signal for the transmitter (and the receiver in synchronous operation). port d 2 the default configuration following reset is gpio input pd2. when configured as pd2, signal direction is controlled through prr1. the signal can be configured as an essi signal sc12 through pcr1. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 18 dsp56311 users manual motorola enhanced synchronous serial interface 1 sck1 pd3 input/ output input or output input serial clock a bidirectional schmitt-trigger input signal providing the serial bit rate clock for the essi. the sck1 is a clock input or output used by both the transmitter and receiver in synchronous modes, or by the transmitter in asynchronous modes. although an external serial clock can be independent of and asynchronous to the dsp system clock, it must exceed the minimum clock cycle time of 6t (i.e., the system clock frequency must be at least three times the external essi clock frequency). the essi needs at least three dsp phases inside each half of the serial clock. port d 3 the default configuration following reset is gpio input pd3. when configured as pd3, signal direction is controlled through prr1. the signal can be configured as an essi signal sck1 through pcr1. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. srd1 pd4 input/ output input or output input serial receive data receives serial data and transfers the data to the essi receive shift register. srd1 is an input when data is being received. port d 4 the default configuration following reset is gpio input pd4. when configured as pd4, signal direction is controlled through prr1. the signal can be configured as an essi signal srd1 through pcr1. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. std1 pd5 input/ output input or output input serial transmit data transmits data from the serial transmit shift register. std1 is an output when data is being transmitted. port d 5 the default configuration following reset is gpio input pd5. when configured as pd5, signal direction is controlled through prr1. the signal can be configured as an essi signal std1 through pcr1. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. table 2-12. enhanced serial synchronous interface 1 (continued) signal name type state during reset signal description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci motorola signals/connections 2- 19 2.10 sci the sci provides a full duplex port for serial communication with other dsps, microprocessors, or peripherals such as modems. 2.11 timers the dsp56311 has three identical and independent timers. each timer can use internal or external clocking and either interrupt the dsp56311 after a specified number of events (clocks) or signal an external device after counting a specific number of internal events. table 2-13. serial communication interface signal name type state during reset signal description rxd pe0 input input or output input serial receive data receives byte oriented serial data and transfers it to the sci receive shift register. port e 0 the default configuration following reset is gpio input pe0. when configured as pe0, signal direction is controlled through the sci port directions register (prr). the signal can be configured as an sci signal rxd through the sci port control register (pcr). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. txd pe1 output input or output input serial transmit data transmits data from the sci transmit data register. port e 1 the default configuration following reset is gpio input pe1. when configured as pe1, signal direction is controlled through the sci prr. the signal can be configured as an sci signal txd through the sci pcr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. sclk pe2 input/ output input or output input serial clock the bidirectional schmitt-trigger input signal providing the input or output clock used by the transmitter and/or the receiver. port e 2 the default configuration following reset is gpio input pe2. when configured as pe2, signal direction is controlled through the sci prr. the signal can be configured as an sci signal sclk through the sci pcr. note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 20 dsp56311 users manual motorola jtag and once interface 2.12 jtag and once interface the dsp56300 family and in particular the dsp56311 support circuit-board test strategies based on the ieee 1149.1 standard test access port and boundary scan architecture, the industry standard developed under the sponsorship of the test technology committee of ieee and the jtag. the once module interfaces nonintrusively with the dsp56300 core and its peripherals so that you can examine registers, memory, or on-chip peripherals. functions of the once module are provided through the jtag tap signals. table 2-14. triple timer signals signal name type state during reset signal description tio0 input or output input timer 0 schmitt-trigger input/output when timer 0 functions as an external event counter or in measurement mode, tio0 is used as input. when timer 0 functions in watchdog, timer, or pulse modulation mode, tio0 is used as output. the default mode after reset is gpio input. this can be changed to output or configured as a timer i/o through the timer 0 control/status register (tcsr0). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. tio1 input or output input timer 1 schmitt-trigger input/output when timer 1 functions as an external event counter or in measurement mode, tio1 is used as input. when timer 1 functions in watchdog, timer, or pulse modulation mode, tio1 is used as output. the default mode after reset is gpio input. this can be changed to output or configured as a timer i/o through the timer 1 control/status register (tcsr1). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. tio2 input or output input timer 2 schmitt-trigger input/output when timer 2 functions as an external event counter or in measurement mode, tio2 is used as input. when timer 2 functions in watchdog, timer, or pulse modulation mode, tio2 is used as output. the default mode after reset is gpio input. this can be changed to output or configured as a timer i/o through the timer 2 control/status register (tcsr2). note: this signal has a weak keeper to maintain the last state even if all drivers are tri-stated. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
jtag and once interface motorola signals/connections 2- 21 table 2-15. once/jtag interface signal name type state during reset signal description tck input input test clock a test clock input signal to synchronize the jtag test logic. tdi input input test data input a test data serial input signal used for test instructions and data. tdi is sampled on the rising edge of tck and has an internal pull-up resistor. tdo output tri-stated test data output a test data serial output signal used for test instructions and data. tdo is tri-statable and is actively driven in the shift-ir and shift-dr controller states. tdo changes on the falling edge of tck. tms input input test mode select an input signal to sequence the test controllers state machine. tms is sampled on the rising edge of tck and has an internal pull-up resistor. trst input input test reset a schmitt-trigger input signal to asynchronously initialize the test controller. trst has an internal pull-up resistor. trst must be asserted after power up. de input/ output input debug event an open-drain signal. as an input, enters the debug mode of operation from an external command controller. as an output, acknowledges that the chip has entered debug mode. when asserted as an input, de causes the dsp56300 core to finish the executing instruction, save the instruction pipeline information, enter the debug mode, and wait for commands to be entered from the debug serial input line. this signal is asserted as an output for three clock cycles when the chip enters debug mode as a result of a debug request or as a result of meeting a breakpoint condition. the de has an internal pull-up resistor. this is not a standard part of the jtag tap controller. the signal connects directly to the once module to initiate debug mode directly or to provide a direct external indication that the chip has entered the debug mode. all other interface with the once module must occur through the jtag port. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
2- 22 dsp56311 users manual motorola jtag and once interface f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola memory configuration 3- 1 chapter 3 memory configuration like all members of the dsp56300 core family, the dsp56311 can address three sets of 16 m ? 24-bit memory internally: program, x data, and y data. each of these memory spaces includes both on-chip and external memory (accessed through the external memory interface). the dsp56311 is extremely flexible because it has several modes to allocate on-chip memory between the program memory and the two data memory spaces. you can also configure it to operate in a special sixteen-bit compatibility mode that allows the chip to use dsp56000 object code without any change; this can result in higher performance of existing code for applications that do not require a larger address space. this section provides detailed information on each of these memory spaces. 3.1 program memory space program memory space consists of the following: n internal program memory (program ram, 32k by default, up to 96k) n (optional) instruction cache (1k) formed from program ram n bootstrap program rom (192 x 24-bit) n optional off-chip memory expansion (as much as 128k in 16-bit mode or 256k in 24-bit mode using the 18 external address lines or 4 m using the external address lines and the four address attribute lines). refer to the dsp56300 family manual , especially the expansion port chapter, for detailed information on using the external memory interface to access external program memory. note: program memory space at locations $ff00c0 C $ffffff is reserved and should not be accessed. 3.1.1 internal program memory the default on-chip program memory consists of a 24-bit-wide, high-speed, sram occupying the lowest 32k locations ($0 C $7fff) in program memory space. the on-chip program ram is organized in 32 banks with 1024 locations each. you can make additional program memory available using the memory switch mode described in section 3.1.2 , "memory switch modesprogram memory." f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 2 dsp56311 users manual motorola program memory space 3.1.2 memory switch modesprogram memory memory switch mode allows reallocation of portions of x and y data ram as program ram. omr[7] is the memory switch (ms) bit that controls this function, as follows: n when the ms bit is cleared, program memory consists of the default 32k ? 24-bit memory space described in the previous section. in this default mode, the lowest external program memory location is $8000. n when the ms bit is set, a portion of the higher locations of the internal x and y data memory are switched to internal program memory. the memory switch configuration (msw[1:0]) bits (also called m1 and m0) in the omr select one of the following options: msw[1:0] = 00 the 32k higher locations ($4000 C $bfff) of the internal x data memory and the 32k higher locations ($6000 C $bfff) of the internal y data memory are switched to internal program memory. in such a case, the on-chip program memory occupies the lowest 96k locations ($0 C $17fff) in the program memory space. the instruction cache, if enabled, occupies the lowest 1k program words (locations $0 C $3ff). the lowest external program memory location in this mode is $18000. msw[1:0] = 01 the 24k higher locations ($6000 C $bfff) of the internal x data memory and the 24k higher locations ($6000 C $bfff) of the internal y data memory are switched to internal program memory. in such a case, the on-chip program memory occupies the lowest 80k locations ($0 C $13fff) in the program memory space. the instruction cache, if enabled, occupies the lowest 1k program words (locations $0 C $3ff). the lowest external program memory location in this mode is $18000, while program memory locations $14000 C $17fff are considered reserved and should not be accessed. msw[1:0] = 10 the 16k higher locations ($8000 C $bfff) of the internal x data memory and the 16k higher locations ($8000 C $bfff) of the internal y data memory are switched to internal program memory. in such a case, the on-chip program memory occupies the lowest 64k locations ($0 C $ffff) in the program memory space. the instruction cache, if enabled, occupies the lowest 1k program words (locations $0 C $3ff). the lowest external program memory location in this mode is $18000, while program memory locations $10000 C $17fff are considered reserved and should not be accessed. msw[1:0] = 11 the 8k higher locations ($a000 C $bfff) of the internal x memory and the 8k higher locations ($a000 C $bfff) of the internal y memory are switched to internal program memory. in such a case, the on-chip program memory occupies the lowest 48k locations ($0 C $bfff) in the program memory space. the instruction cache, if enabled, occupies the f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
x data memory space motorola memory configuration 3- 3 lowest 1 k program words (locations $0 C $3ff). the lowest external program memory location in this mode is $18000, while program memory locations $c000-$17fff are considered reserved and should not be accessed. 3.1.3 instruction cache in program memory space, the lowest 1024 (1k) program words (at locations $0 C $3ff) function as an internal instruction cache. when the instruction cache is enabled (that is, the ce bit in the sr is set), the lowest 1k program words are reserved for the instruction cache and should not be accessed for other purposes. note: when using an enabled instruction cache, you must assign a valid value for the vector address bus so that interrupts can be handled properly outside p:$0 C $3ff. (see the memory diagrams, starting with figure 3-2 , "memory switch off, cache on, 24-bit mode," on page 3-10.) 3.1.4 program bootstrap rom the program memory space occupying locations $ff0000 C $ff00bf includes the internal bootstrap rom. this rom contains the 192-word dsp56311 bootstrap program. 3.2 x data memory space the x data memory space consists of the following: n internal x data memory (48k by default down to 8k) n internal x i/o space (upper 128 locations) n optional off-chip memory expansion (as much as 128k in 16-bit mode, or 256k in 24-bit mode using the 18 external address lines, or 4 m using the external address lines and the four address attribute lines). refer to the dsp56300 family manual, especially section 2 , expansion port , for details on using the external memory interface to access external x data memory. note: the x memory space at locations $ff0000 C $ffefff is reserved and should not be accessed. 3.2.1 internal x data memory the default on-chip x data ram is a 24-bit-wide, internal, static memory occupying the lowest 48 k locations ($0 C $bfff) in x memory space. the on-chip x data ram is organized into 48 banks with 1024 locations each. available x data memory space is reduced and reallocated to program memory using the memory switch mode described in the next section. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 4 dsp56311 users manual motorola x data memory space 3.2.2 memory switch modesx data memory memory switch mode reallocates of portions of x and y data ram as program ram. bit 7 in the omr is the ms bit that controls this function, as follows: n when the ms bit is cleared, the x data memory consists of the default 48k ? 24-bit memory space described in the previous section. in this default mode, the lowest external x data memory location is $6000. n when the ms bit is set, a portion of the higher locations of the internal x memory is switched to internal program memory. the memory switch (msw[1:0]) configuration bits in the omr select one of the following options: msw[1:0] = 00 the 32k higher locations ($4000 C $bfff) of the internal x memory are switched to internal program memory, and therefore the highest internal x memory location is $3fff. the x memory space at the switched locations ($4000 C $bfff) becomes reserved and should not be accessed. the lowest external x memory location is $c000. msw[1:0] = 01 the 24k higher locations ($6000 C $bfff) of the internal x memory are switched to internal program memory, and therefore the highest internal x memory location is $5fff. the x memory space at the switched locations ($6000 C $bfff) becomes reserved and should not be accessed. the lowest external x memory location is $c000. msw[1:0] = 10 the 16k higher locations ($8000 C $bfff) of the internal x memory are switched to internal program memory, and therefore the highest internal x memory location is $7fff. the x memory space at the switched locations ($8000 C $bfff) becomes reserved and should not be accessed. the lowest external x memory location is $c000. msw[1:0] = 11 the 8k higher locations ($a000 C $bfff) of the internal x memory are switched to internal program memory, and therefore the highest internal x memory location is $9fff. the x memory space at the switched locations ($a000 C $bfff) becomes reserved and should not be accessed. the lowest external x memory location is $c000. note: the 10k lowest locations ($0 C $27ff) of the internal x memory are shared memory , which is accessible to both the core and the efcop. the efcop connects to the shared memory instead of the dma bus, so there is no dma accessibility to shared memory. simultaneous accesses by the core and the efcop to the same memory bank (1024 locations) of the shared memory are not permitted. it is the programmers responsibility to prevent such simultaneous accesses. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
y data memory space motorola memory configuration 3- 5 3.2.3 internal x i/o space one part of the on-chip peripheral registers and some of the dsp56311 core registers occupy the top 128 locations of the x data memory ($ffff80 C $ffffff). this area is referred to as the internal x i/o space and it can be accessed by move, movep instructions and by bit-oriented instructions (bchg, bclr, bset, btst, brclr, brset, bsclr, bsset, jclr, jset, jsclr and jsset). the contents of the internal x i/o memory space are listed in appendix a. 3.3 y data memory space the y data memory space consists of the following: n internal y data memory (48k by default down to 16k) n internal y i/o space (16 locations$ffff80 C $ffff8f) n external y i/o space (upper 112 locations) n optional off-chip memory expansion (as much as 128k in 16-bit mode or 256k in 24-bit mode using the 18 external address lines or 4 m using the external address lines and the four address attribute lines). refer to the dsp56300 family manual for details on using the external memory interface to access external y data memory. note: the y memory space at locations $ff0000 C $ffefff is reserved and should not be accessed. 3.3.1 internal y data memory the default on-chip y data ram is a 24-bit-wide, internal, static memory occupying the lowest 48k locations ($0 C $bfff) in y memory space. the on-chip y data ram is organized in 48 banks, 1024 locations each. available y data memory space is reduced and reallocated to program memory by using the memory switch mode described in the following paragraphs. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 6 dsp56311 users manual motorola y data memory space 3.3.2 memory switch modesy data memory memory switch mode reallocates of portions of x and y data ram as program ram. bit 7 in the omr is the ms bit that controls this function, as follows: n when the ms bit is cleared, the y data memory consists of the default 48k ? 24-bit memory space described in the previous section. in this default mode, the lowest external y data memory location is $6000. n when ms mode bit in the omr is set, a portion of the higher locations of the internal y memory are switched to internal program memory. the memory switch configuration (msw[1:0]) bits in the omr select one of the following options: msw[1:0] = 00 the 32k higher locations ($4000 C $bfff) of the internal y memory are switched to internal program memory, and therefore the highest internal y memory location is $3fff. the y memory space at the switched locations ($4000 C $bfff) becomes reserved and should not be accessed. the lowest external y memory location is $c000. msw[1:0] = 01 the 24k higher locations ($6000 C $bfff) of the internal y memory are switched to internal program memory, and therefore the highest internal y memory location is $5fff. the y memory space at the switched locations ($6000 C $bfff) becomes reserved and should not be accessed. the lowest external y memory location is $c000. msw[1:0] = 10 the 8k higher locations ($8000 C $bfff) of the internal y memory are switched to internal program memory, and therefore the highest internal y memory location is $7fff. the y memory space at the switched locations ($8000 C $bfff) becomes reserved and should not be accessed. the lowest external y memory location is $c000. msw[1:0] = 11 the 4k higher locations ($a000 C $bfff) of the internal y memory are switched to internal program memory, and therefore the highest internal y memory location is $9fff. the y memory space at the switched locations ($a000-$bfff) becomes reserved and should not be accessed. the lowest external y memory location is $c000. note: the 10k lowest locations ($0-$27ff) of the internal y memory are shared memory , which is accessible both to the core and the efcop. the efcop connects to the shared memory in place of the dma bus. therefore, dma cannot access the shared memory, and simultaneous accesses by the core and efcop to the same memory bank (of 256 locations) of the shared memory are not permitted. it is your responsibility to prevent such simultaneous accesses. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dynamic memory configuration switching motorola memory configuration 3- 7 3.3.3 internal y i/o space the second part of the on-chip peripheral registers occupies 16 locations ($ffff80 C $ffff8f) of the y data memory. this area is the internal y i/o space, and it can be accessed by move, movep instructions and by bit-oriented instructions (bchg, bclr, bset, btst, brclr, brset, bsclr, bsset, jclr, jset, jsclr and jsset). the contents of the internal y i/o memory space are listed in appendix a. 3.3.4 external y i/o space off-chip peripheral registers should be mapped into the top 112 locations ($ffff90 C $ffffff) to take advantage of the move peripheral data (movep) instruction and the bit-oriented instructions (bchg, bclr, bset, btst, brclr, brset, bsclr, bsset, jclr, jset, jsclr and jsset). this area is the external y i/o space . 3.4 dynamic memory configuration switching when the internal memory configuration is altered by remapping ram modules from x and y data memories into program memory space and vice versa, data contents of the switched ram modules are preserved. any sequence that complies with the switch condition is valid. for example, if the program flow executes in the address range that is not affected by the switch, the switch condition can be met very easily. a switch can be accomplished just by changing the omr[ms/msw] bits in the regular program flow, assuming no accesses to the affected address ranges of the data memory occur up to three instructions after the instruction that changes the omr bits. caution to ensure that dynamic switching is trouble-free, do not allow any accesses (including instruction fetches) to or from the affected address ranges in program and data memories during the switch cycle. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 8 dsp56311 users manual motorola sixteen-bit compatibility mode configuration because an interrupt could cause the dsp to fetch instructions out of sequence and might violate the switch condition, special care should be taken in relation to the interrupt vector routines. 3.5 sixteen-bit compatibility mode configuration the sixteen-bit compatibility (sc) mode allows the dsp56311 to use dsp56000 object code without change. the sc bit (bit 13 in the sr) is used to switch from the default 24-bit mode to this special 16-bit mode. sc is cleared by reset. you must set this bit to select the sc mode. the address ranges described in the previous sections apply in the sc mode with regard to the reallocation of x and y data memory to program memory in ms mode, but the maximum addressing ranges are limited to $ffff, and all data and program code are 16 bits wide. 3.6 memory maps the following figures illustrate each of the memory space and ram configurations defined by the settings of the ms (and msw[1:0]), ce, and sc bits. the figures show the configuration and describe the bit settings, memory sizes, and memory locations. note: in 16-bit mode, if the ms mode bit in the operating mode register (omr) is set, external program memory is not accessible, so enabling the instruction cache is of little benefit. in addition, certain 16-bit modes prevent you from accessing the entire internal dsp56311 memory space. caution pay special attention when executing a memory switch routine using the once port. running the switch routine in trace mode, for example, can cause the switch to complete after the ms/msw bits change while the dsp is in debug mode. as a result, subsequent instructions may be fetched according to the new memory configuration (after the switch) and thus may execute improperly. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 9 figure 3-1. memory switch off, cache off, 24-bit mode (default) internal reserved bootstrap rom external internal program ram 32k $ffffff $ff00c0 $ff0000 $008000 $000000 internal reserved internal i/o external internal x data ram 48k external $00c000 internal reserved external i/o external internal y data ram 48k external $ff0000 $000000 $fff000 $ffff80 program x data y data default bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 0any value 00 32k $0000 C $7fff 48k $0000 C $bfff 48k $0000 C $bfff none 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 10 dsp56311 users manual motorola memory maps figure 3-2. memory switch off, cache on, 24-bit mode internal reserved bootstrap rom external internal program ram 31k $ffffff $ff00c0 $ff0000 $008000 $000000 internal reserved internal i/o external internal x data ram 48k external $00c000 internal reserved external i/o external internal y data ram 48k external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 0 any value 1 0 31k $0400 C $7fff 48k $0000 C $bfff 48k $0000 C $bfff enabled 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $000400 reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 11 figure 3-3. memory switch on (msw = 00), cache off, 24-bit mode internal reserved bootstrap rom external internal program ram 96 k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 16k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 10000 96k $0000 C $17fff 16k $0000 C $3fff 16k $0000 C $3fff none 16 m * lowest 10k of x data ram and 410k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $004000 internal reserved internal y data ram 16k internal reserved $004000 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 12 dsp56311 users manual motorola memory maps figure 3-4. memory switch on (msw = 00), cache on, 24-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 00 1 0 95k $0400 C $bfff 16k $0000 C $3fff 16k $0000 C $3fff enabled 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $000400 reserved internal reserved bootstrap rom external internal program ram 95k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 16k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $004000 internal reserved internal y data ram 16k internal reserved $004000 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 13 figure 3-5. memory switch on (msw = 01), cache off, 24-bit mode internal reserved bootstrap rom external internal program ram 80k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 24k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 10100 80k $0000 C $13fff 24k $0000 C $5fff 24k $0000 C $5fff none 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $006000 internal reserved internal y data ram 24k internal reserved $006000 $014000 reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 14 dsp56311 users manual motorola memory maps figure 3-6. memory switch on (msw = 01), cache on, 24-bit mode internal reserved bootstrap rom external internal program ram 79k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 24k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 01 1 0 79k $0400 C $13fff 24k $0000 C $5fff 24k $0000 C $5fff enabled 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $006000 internal reserved internal y data ram 24k internal reserved $006000 $014000 $000400 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 15 figure 3-7. memory switch on (msw = 10), cache off, 24-bit mode internal reserved bootstrap rom external internal program ram 64k $ffffff $ff00c0 $ff0000 $180000 $000000 internal reserved internal i/o external internal x data ram 32k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 11000 64k $0000 C $ffff 32k $0000 C $7fff 32k $0000 C $7fff none 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $008000 reserved internal y data ram 32k reserved $008000 $010000 reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 16 dsp56311 users manual motorola memory maps figure 3-8. memory switch on (msw = 10), cache on, 24-bit mode internal reserved bootstrap rom external internal program ram 63k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 32k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 10 1 0 63k $0400 C $ffff 32k $0000 C $7fff 32k $0000 C $7fff enabled 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $008000 reserved internal y data ram 32k reserved $008000 $010000 $000400 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 17 figure 3-9. memory switch on (msw = 11), cache off, 24-bit mode internal reserved bootstrap rom external internal program ram 48k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 40k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 11100 48k $0000 C $bfff 40k $0000 C $9fff 40k $0000 C $9fff none 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $00a000 reserved internal y data ram 40k reserved $00a000 $00c000 reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 18 dsp56311 users manual motorola memory maps figure 3-10. memory switch on (msw = 11), cache on, 24-bit mode internal reserved bootstrap rom external internal program ram 47k $ffffff $ff00c0 $ff0000 $018000 $000000 internal reserved internal i/o external internal x data ram 40k external $00c000 internal reserved external i/o external external $ff0000 $000000 $fff000 $ffff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 11 1 0 47k $0400 C $bfff 40k $0000 C $9fff 40k $0000 C $9fff enabled 16 m * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffffff $00c000 $ff0000 $000000 $fff000 $ffff80 $ffffff internal i/o $ffffc0 $00a000 reserved internal y data ram 40k reserved $00a000 $00c000 $000400 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 19 figure 3-11. memory switch off, cache off, 16-bit mode external internal program ram 32k $ffff $8000 $0000 internal i/o internal x data ram 48k external $c000 external i/o internal y data ram 48k external $0000 $ff80 program x data y data bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 0any value 01 32k $0000 C $3fff 48k $0000 C $bfff 48k $0000 C $bfff none 64k *lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 20 dsp56311 users manual motorola memory maps figure 3-12. memory switch off, cache on, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 0 any value 1 1 31k $0400 C $7fff 48k $0000 C $bfff 48k $0000 C $bfff enabled 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. external internal program ram 31k $ffff $8000 $0000 internal i/o internal x data ram 48k external $c000 external i/o internal y data ram 48k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $0400 reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 21 figure 3-13. memory switch on (msw = 00), cache off, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 10001 64k $0000 C $ffff 16k $0000 C $3fff 16k $0000 C $3fff none 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. internal program ram 64k $ffff $0000 internal i/o internal x data ram 16k external $c000 external i/o internal y data ram 16k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $4000 $4000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 22 dsp56311 users manual motorola memory maps figure 3-14. memory switch on (msw = 00), cache on, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 00 1 1 63k $0400 C $ffff 16k $0000 C $3fff 16k $0000 C $3fff enabled 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. internal program ram 63k $ffff $0000 program x data y data $0400 reserved internal i/o internal x data ram 16k external $c000 external i/o internal y data ram 16k external $0000 $ff80 $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $4000 $4000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 23 figure 3-15. memory switch on (msw = 01), cache off, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1010164k $0000 C $ffff 24k $0000 C $5fff 24k $0000 C $5fff none 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. internal program ram 64k $ffff $0000 internal i/o internal x data ram 24k external $c000 external i/o internal y data ram 24k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $6000 $6000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 24 dsp56311 users manual motorola memory maps figure 3-16. memory switch on (msw = 01), cache on, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 01 1 1 63k $0400 C $ffff 24k $0000 C $5fff 24k $0000 C $5fff enabled 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $0400 reserved internal program ram 63k $ffff $0000 internal i/o internal x data ram 24k external $c000 external i/o internal y data ram 24k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $6000 $6000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 25 figure 3-17. memory switch on (msw = 10), cache off, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1100164k $0000 C $ffff 32k $0000 C $7fff 32k $0000 C $7fff none 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. internal program ram 64k $ffff $0000 internal i/o internal x data ram 32k external $c000 external i/o internal y data ram 32k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $8000 $8000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 26 dsp56311 users manual motorola memory maps figure 3-18. memory switch on (msw = 10), cache on, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 10 1 1 63k $0400 C $ffff 24k $0000 C $9fff 24k $0000 C $9fff enabled 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $0400 reserved internal program ram 63k $ffff $0000 internal i/o internal x data ram 24k external $c000 external i/o internal y data ram 24k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $a000 $a000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
memory maps motorola memory configuration 3- 27 figure 3-19. memory switch on (msw = 11), cache off, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 11101 48k $0000 C $bfff 40k $0000 C $9fff 40k $0000 C $9fff none 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. reserved internal program ram 48k $ffff $c000 $0000 internal i/o internal x data ram 40k external $c000 external i/o internal y data ram 40k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $a000 $a000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
3- 28 dsp56311 users manual motorola memory maps figure 3-20. memory switch on (msw = 11), cache on, 16-bit mode bit settings memory configuration ms msw [1:0] ce sc program ram x data ram* y data ram* cache addressable memory size 1 11 1 1 47k $0400 C $bfff 40k $0000 C $9fff 40k $0000 C $9fff enabled 64k * lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. $0400 reserved reserved internal program ram 47k $ffff $c000 $0000 internal i/o internal x data ram 40k external $c000 external i/o internal y data ram 40k external $0000 $ff80 program x data y data $ffff $c000 $0000 $ff80 $ffff internal i/o $ffc0 $a000 $a000 reserved reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola core configuration 4- 1 chapter 4 core configuration this chapter presents dsp56300 core configuration details specific to the dsp56311. these configuration details include the following: n operating modes n bootstrap program n interrupt sources and priorities n dma request sources n omr n pll control register n aa control registers n jtag boundary scan register for information on specific registers or modules in the dsp56300 core, refer to the dsp56300 family manual . 4.1 operating modes the dsp56311 begins operation by leaving the reset state and going into one of eight operating modes. as the dsp56311 exits the reset state, it loads the values of moda, modb, modc, and modd into bits ma, mb, mc, and md of the omr. these bit settings determine the chips operating mode, which in turn determines the bootstrap program option the chip uses to start up. software can also directly set the omr[maCmd] bits. a jump directly to the bootstrap program entry point ($ff0000) after the omr bits are set causes the dsp56311 to execute the specified bootstrap program option (except modes 0 and 8). table 4-1 shows the dsp56311 bootstrap operation modes, the corresponding settings of the external operational mode signal lines (the omr[maCmd] bits), and the reset vector address to which the dsp56311 jumps once it leaves the reset state. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 2 dsp56311 users manual motorola operating modes table 4-1. dsp56311 operating modes mode modd modc modb moda reset vector description 0 0 0 0 0 $c00000 expanded mode bypasses the bootstrap rom, and the dsp56311 starts fetching instructions beginning at address $c00000. memory accesses are performed using sram memory access type with 31 wait states and no address attributes selected (default). address $c00000 is reflected as address $00000 on port a signals a0Ca17. 1 0 0 0 1 $ff0000 reserved 2 0 0 1 0 $ff0000 reserved 3 0 0 1 1 $ff0000 reserved 4 0 1 0 0 $ff0000 reserved 5 0 1 0 1 $ff0000 reserved 6 0 1 1 0 $ff0000 reserved 7 0 1 1 1 $ff0000 reserved 8 1 0 0 0 $008000 expanded mode bypasses the bootstrap rom, and the dsp56311 starts fetching instructions beginning at address $008000. memory accesses are performed using sram memory access type with 31 wait states and no address attributes selected. 9 1 0 0 1 $ff0000 bootstrap from byte-wide memory the bootstrap program loads instructions through port a from external byte-wide memory, starting at p:$d00000. the sram memory access type is selected by the values in address attribute register 1 (aar1). thirty-one wait states are inserted between each memory access. address $d00000 is reflected as address $00000 on port a signals a0Ca17. the boot program concatenates every 3 bytes read from the external memory into a 24-bit wide dsp56311 word. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola core configuration 4- 3 a 1 0 1 0 $ff0000 bootstrap through sci instructions are loaded through the sci. the bootstrap program sets the sci to operate in 10-bit asynchronous mode, with 1 start bit, 8 data bits, 1 stop bit, and no parity. data is received in this order: start bit, 8 data bits (lsb first), and one stop bit. data is aligned in the sci receive data register with the lsb of the least significant byte of the received data appearing at bit 0.the user must provide an external clock source with a frequency at least 16 times the transmission data rate. each byte received by the sci is echoed back through the sci transmitter to the external transmitter. the boot program concatenates every 3 bytes read from the sci into a 24-bit wide dsp56311 word. b 1 0 1 1 $ff0000 reserved c 1 1 0 0 $ff0000 hi08 bootstrap in isa/dsp563xx mode the hi08 is configured to interface with an isa bus or with the memory expansion port of a master dsp563xx processor through the hi08. the hi08 pin configuration is optimized for connection to the isa bus or memory expansion port of a master dsp based on the dsp56300 core. d 1 1 0 1 $ff0000 hi08 bootstrap in hc11 nonmultiplexed mode the bootstrap program sets the host interface to interface with the motorola hc11 microcontroller through the hi08. the hi08 pin configuration is optimized for connection to the motorola hc11 nonmultiplexed bus. e 1 1 1 0 $ff0000 hi08 bootstrap in 8051 multiplexed bus mode the bootstrap program sets the host interface to interface with the intel 8051 bus through the hi08. the program stored in this location, after testing moda, modb, modc, and modd, bootstraps through hi08. the hi08 pin configuration is optimized for connection to the intel 8051 multiplexed bus. f 1 1 1 1 $ff0000 hi08 bootstrap in mc68302 bus mode the bootstrap program sets the host interface to interface with the motorola mc68302 or mc68360 bus through the hi08. the hi08 pin configuration is optimized for connection to a motorola mc68302 or mc68360 bus. table 4-1. dsp56311 operating modes (continued) mode modd modc modb moda reset vector description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 4 dsp56311 users manual motorola bootstrap program 4.2 bootstrap program the bootstrap program is factory-programmed in an internal 192-word by 24-bit bootstrap rom located in program memory space at locations $ff0000C$ff00bf. the bootstrap program can load any program ram segment from an external byte-wide eprom, the sci, or the host port. the bootstrap program code is listed in appendix a. upon exiting the reset state, the dsp56311 samples the moda-modd signal lines and loads their values into omr[ma - md]. the mode input signals (modaCmodd) and the resulting ma, mb, mc, and md bits determine which bootstrap mode the dsp56311 enters (see table 4-1 ). note: to stop the bootstrap in any hi08 bootstrap mode, set the host flag 0 (hf0). the loaded user program begins executing from the specified starting address. you can invoke the bootstrap program options (except modes 0 and 8) at any time by setting the ma, mb, mc, and md bits in the omr and jumping to the bootstrap program entry point, $ff0000. software can directly set the mode selection bits in the omr. bootstrap modes 0 and 8 are the normal dsp56311 functioning modes. bootstrap modes 9, a, and cCf select different specific bootstrap loading source devices. in these modes, the bootstrap program expects the following data sequence when downloading the user program through an external port: 1. three bytes that specify the number of (24-bit) program words to be loaded 2. three bytes that specify the (24-bit) start address where the user program loads in the dsp56311 program memory 3. the user program (three bytes for each 24-bit program word) note: the three bytes for each data sequence are loaded least significant byte first. when the bootstrap program finishes loading the specified number of words, it jumps to the specified starting address and executes the loaded program. 4.3 interrupt sources and priorities dsp56311 interrupt handling, like that for all dsp56300 family members, is optimized for dsp applications. refer to the chapter on interrupts in the dsp56300 family manual . the interrupt table resides in the 256 locations of program memory to which the pcu vector base address (vba) register points. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
interrupt sources and priorities motorola core configuration 4- 5 4.3.1 interrupt sources each interrupt is allocated two instructions in the table, resulting in 128 table entries for interrupt handling. table 4-2 shows the table entry address for each interrupt source. the dsp56311 initialization program loads the table entry for each interrupt serviced with two interrupt servicing instructions. in the dsp56311, only some of the 128 vector addresses are used for specific interrupt sources. the remaining interrupt vectors are reserved and can be used for host nmi (ipl = 3) or for host command interrupt (ipl = 2). unused interrupt vector locations can be used for program or data storage. table 4-2. interrupt sources interrupt starting address interrupt priority level range interrupt source vba:$00 3 hardware reset vba:$02 3 stack error vba:$04 3 illegal instruction vba:$06 3 debug request interrupt vba:$08 3 trap vba:$0a 3 nonmaskable interrupt (nmi ) vba:$0c 3 reserved vba:$0e 3 reserved vba:$10 0C2 irqa vba:$12 0C2 irqb vba:$14 0C2 irqc vba:$16 0C2 irqd vba:$18 0C2 dma channel 0 vba:$1a 0C2 dma channel 1 vba:$1c 0C2 dma channel 2 vba:$1e 0C2 dma channel 3 vba:$20 0C2 dma channel 4 vba:$22 0C2 dma channel 5 vba:$24 0C2 timer 0 compare vba:$26 0C2 timer 0 overflow vba:$28 0C2 timer 1 compare vba:$2a 0C2 timer 1 overflow vba:$2c 0C2 timer 2 compare vba:$2e 0C2 timer 2 overflow vba:$30 0C2 essi0 receive data f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 6 dsp56311 users manual motorola interrupt sources and priorities vba:$32 0C2 essi0 receive data with exception status vba:$34 0C2 essi0 receive last slot vba:$36 0C2 essi0 transmit data vba:$38 0C2 essi0 transmit data with exception status vba:$3a 0C2 essi0 transmit last slot vba:$3c 0C2 reserved vba:$3e 0C2 reserved vba:$40 0C2 essi1 receive data vba:$42 0C2 essi1 receive data with exception status vba:$44 0C2 essi1 receive last slot vba:$46 0C2 essi1 transmit data vba:$48 0C2 essi1 transmit data with exception status vba:$4a 0C2 essi1 transmit last slot vba:$4c 0C2 reserved vba:$4e 0C2 reserved vba:$50 0C2 sci receive data vba:$52 0C2 sci receive data with exception status vba:$54 0C2 sci transmit data vba:$56 0C2 sci idle line vba:$58 0C2 sci timer vba:$5a 0C2 reserved vba:$5c 0C2 reserved vba:$5e 0C2 reserved vba:$60 0C2 host receive data full vba:$62 0C2 host transmit data empty vba:$64 0C2 host command (default) vba:$66 0C2 reserved vba:$68 0 - 2 efcop data input buffer empty vba:$6a 0 - 2 efcop data output buffer full vba:$6c 0 - 2 reserved vba:$6e 0 - 2 reserved ::: vba:$fe 0C2 reserved table 4-2. interrupt sources (continued) interrupt starting address interrupt priority level range interrupt source f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
interrupt sources and priorities motorola core configuration 4- 7 4.3.2 interrupt priority levels there are two interrupt priority registers in the dsp56311. the iprCc ( figure 4-1 ) is dedicated to dsp56300 core interrupt sources, and iprCp ( figure 4-2 ) is dedicated to dsp56311 peripheral interrupt sources. figure 4-1. interrupt priority register c (ipr-c) (x:$ffffff) figure 4-2. interrupt priority register p (ipr-p) (x:$fffffe) ial0 ial1 ial2 ibl0 ibl1 ibl2 icl0 icl1 icl2 0 1 2 3 4 5 6 7 8 9 10 11 irqa ipl irqa mode irqb ipl irqb mode irqc ipl irqc mode irqd ipl d0l0 d0l1 d1l0 d1l1 23 22 21 20 19 18 17 16 15 14 13 12 dma0 ipl dma1 ipl d2l0 d2l1 d3l0 d3l1 d4l0 d4l1 d5l0 d5l1 dma2 ipl dma3 ipl dma4 ipl dma5 ipl idl2 idl1 idl0 irqd mode hpl0 hpl1 s0l0 s0l1 s1l0 s1l1 23 22 21 20 19 18 17 16 15 14 13 12 0 1 2 3 4 5 6 7 8 9 10 11 hi08 ipl essi0 ipl essi1 ipl sci ipl triple timer ipl fcl1 t0l0 t0l1 scl0 scl1 reserved efcop ipl fcl0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 8 dsp56311 users manual motorola interrupt sources and priorities . 4.3.3 interrupt source priorities within an ipl if more than one interrupt request is pending when an instruction executes, the interrupt source with the highest ipl is serviced first. when several interrupt requests with the same ipl are pending, another fixed-priority structure within that ipl determines which interrupt source is serviced first. table 4-4 shows this fixed-priority list of interrupt sources within an ipl, from highest to lowest at each level the interrupt mask bits in the status register (i[1:0]) can be programmed to ignore low priority level interrupt requests. table 4-3. interrupt priority level bits ipl bits interrupts enabled interrupts masked interrupt priority level xxl1 xxl0 00 no 0 01 yes 0 1 10 yes 0, 1 2 1 1 yes 0, 1, 2 3 table 4-4. interrupt source priorities within an ipl priority interrupt source level 3 (nonmaskable) highest hardware reset stack error illegal instruction debug request interrupt trap lowest nonmaskable interrupt levels 0, 1, 2 (maskable) highest irqa (external interrupt) irqb (external interrupt) irqc (external interrupt) irqd (external interrupt) dma channel 0 interrupt dma channel 1 interrupt dma channel 2 interrupt dma channel 3 interrupt dma channel 4 interrupt f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
interrupt sources and priorities motorola core configuration 4- 9 dma channel 5 interrupt highest host command interrupt host transmit data empty host receive data full essi0 rx data with exception interrupt essi0 rx data interrupt essi0 receive last slot interrupt essi0 tx data with exception interrupt essi0 transmit last slot interrupt essi0 tx data interrupt essi1 rx data with exception interrupt essi1 rx data interrupt essi1 receive last slot interrupt essi1 tx data with exception interrupt essi1 transmit last slot interrupt essi1 tx data interrupt sci receive data with exception interrupt sci receive data sci transmit data sci idle line sci timer timer0 overflow interrupt timer0 compare interrupt timer1 overflow interrupt timer1 compare interrupt timer2 overflow interrupt timer2 compare interrupt efcop data input buffer empty lowest efcop data output buffer full table 4-4. interrupt source priorities within an ipl (continued) priority interrupt source f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 10 dsp56311 users manual motorola interrupt sources and priorities 4.3.4 dma request sources the dma request source bits (drs[4:0]) in the dma control/status registers) encode the source of dma requests that trigger dma transfers. the dma request sources may be internal peripherals or external devices requesting service through the irqa , irqb , irqc , or irqd signals. table 4-5 shows the values of the drs bits. note: the lowest 10k of x data ram and 10k of y data ram are shared memory that can be accessed by the core and the efcop but not by the dma controller. table 4-5. dma request sources dma request source bits drs4... drs0 requesting device 00000 external (irqa signal) 00001 external (irqb signal) 00010 external (irqc signal) 00011 external (irqd signal) 00100 transfer done from dma channel 0 00101 transfer done from dma channel 1 00110 transfer done from dma channel 2 00111 transfer done from dma channel 3 01000 transfer done from dma channel 4 01001 transfer done from dma channel 5 01010 essi0 receive data (rdf0 = 1) 01011 essi0 transmit data (tde0 = 1) 01100 essi1 receive data (rdf1 = 1) 01101 essi1 transmit data (tde1 = 1) 01110 sci receive data (rdrf = 1) 01111 sci transmit data (tdre = 1) 10000 timer0 (tcf0 = 1) 10001 timer1 (tcf1 = 1) 10010 timer2 (tcf2 = 1) 10011 host receive data full (hrdf = 1) 10100 host transmit data empty (htde = 1) 10101 efcop input buffer empty (fdibe=1) 10110 efcop output buffer full (fdobf=1) 10111C11111 reserved f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating mode register (omr) motorola core configuration 4- 11 4.4 operating mode register (omr) the omr is a read/write register divided into three byte-sized units. the lowest two bytes (eom and com) control the chips operating mode. the high byte (scs) controls and monitors the stack extension. the omr control bits are shown in figure 4-3 . the eom and com bytes are affected only by processor reset and by instructions directly referencing the omr (i.e., andi, ori, and other instructions, such as movec, that specify omr as a destination). the scs byte is referenced implicitly by some instructions, such as do, jsr, and rti, or directly by the movec instruction. during processor reset, the chip operating mode bits (md, mc, mb, and ma) are loaded from the external mode select pins modd, modc, modb, and moda respectively. table 4-6 defines the dsp56311 omr bits. scs eom com 23222120191817161514131211109876543210 msw[1:0] sen wrpeoveun xys apd abe brt tas be cdp1:0 ms sd ebd md mc mb ma msw1C msw0 memory switch configuration ms memory switch mode apd address attribute priority disable sd stop delay sen stack extension enable abe async. bus arbitration enable ebd external bus disable wrp stack extension wrap flag brt bus release timing md chip operating mode d eov stack extension overflow flag tas ta synchronize select mc chip operating mode c eun stack extension underflow flag be cache burst mode enable mb chip operating mode b xys stack extension space select cdp1 core-dma priority 1 ma chip operating mode a cdp0 core-dma priority 0 - reserved bit; read as zero; should be written with zero for future compatibility figure 4-3. dsp56311 operating mode register (omr) format table 4-6. operating mode register (omr) bit definitions bit number bit name reset value description 23 0 reserved. set to 0 for future compatibility. 22 C 21 msw[1 C0] 0 memory switch configuration reallocate portions of x and y data ram as program ram. memory switch mode is enabled when the memory switch bit, omr[7] is set. the memory switch configuration (msw) bits determine what portion of the higher locations of internal x and y data memory are switched to internal program memory when the memory switch mode is enabled. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 12 dsp56311 users manual motorola operating mode register (omr) 20 sen 0 stack extension enable enables/disables the stack extension in data memory. if the sen bit is set, the extension is enabled. hardware reset clears this bit, so the default out of reset is a disabled stack extension. 19 wrp 0 stack extension wrap flag set when copying from the on-chip hardware stack (system stack register file) to the stack extension memory begins. you can use this flag during the debugging phase of the software development to evaluate and increase the speed of software-implemented algorithms. the wrp flag is a sticky bit (i.e., cleared only by hardware reset or by an explicit movec operation to the omr). 18 eov 0 stack extension overflow flag set when a stack overflow occurs in stack extended mode. extended stack overflow is recognized when a push operation is requested while sp = sz (stack size register), and the extended mode is enabled by the sen bit. the eov flag is a sticky bit (i.e., cleared only by hardware reset or by an explicit movec operation to the omr). the transition of the eov flag from zero to one causes a priority level 3 (non-maskable) stack error exception. 17 eun 0 stack extension underflow flag set when a stack underflow occurs in extended stack mode. extended stack underflow is recognized when a pull operation is requested, sp = 0, and the sen bit enables extended mode. the eun flag is a sticky bit (i.e., cleared only by hardware reset or by an explicit movec operation to the omr). transition of the eun flag from zero to one causes a priority level 3 (non-maskable) stack error exception. note: while the chip is in extended stack mode, the uf bit in the sp acts like a normal counter bit. 16 xys 0 stack extension xy select determines whether the stack extension is mapped onto x or y memory space. if the bit is clear, then the stack extension is mapped onto the x memory space. if the xys bit is set, the stack extension is mapped to the y memory space. 15 0 reserved. set to 0 for future compatibility. 14 apd 0 address attribute priority disable disables the priority assigned to the address attribute signals (aa0-aa3). when apd = 0 (default setting), the four address attribute signals each have a certain priority: aa3 has the highest priority, aa0 has the lowest priority. therefore, only one aa signal can be active at one time. this allows continuous partitioning of external memory; however, certain functions, such as using the aa signals as additional address lines, require the use of additional interface hardware. when apd is set, the priority mechanism is disabled, allowing more than one aa signal to be active simultaneously. therefore, the aa signals can be used as additional address lines without the need for additional interface hardware. for details on the address attribute registers, see section 4.8, " address attribute registers (aar0Caar3)," on page 4-22. table 4-6. operating mode register (omr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating mode register (omr) motorola core configuration 4- 13 13 abe 0 asynchronous bus arbitration enable eliminates the setup and hold time requirements for bb and bg , and substitutes a required non-overlap interval between the deassertion of one bg input to a dsp56300 family device and the assertion of a second bg input to a second dsp56300 family device on the same bus. when the abe bit is set, the bg and bb inputs are synchronized. this synchronization causes a delay between a change in bg or bb until this change is actually accepted by the receiving device. 12 brt 0 bus release timing selects between fast or slow bus release. if brt is cleared, a fast bus release mode is selected (i.e., no additional cycles are added to the access and bb is not guaranteed to be the last port a pin that is tri-stated at the end of the access). if brt is set, a slow bus release mode is selected (i.e., an additional cycle is added to the access, and bb is the last port a pin that is tri-stated at the end of the access). 11 tas 0 ta synchronize select selects the synchronization method for the input port a pinta (transfer acknowledge). if tas is cleared, you are responsible for asserting the ta pin in synchrony with the chip clock, as described in the technical data sheet. if tas is set, the ta input pin is synchronized inside the chip, thus eliminating the need for an off-chip synchronizer. note that the tas bit has no effect when the ta pin is deasserted: you are responsible for deasserting the ta pin in synchrony with the chip clock, regardless of the value of tas. 10 be 0 cache burst mode enable enables/disables burst mode in the memory expansion port during an instruction cache miss. if the bit is cleared, burst mode is disabled and only one program word is fetched from the external memory when an instruction cache miss condition is detected. if the bit is set, burst mode is enabled, and up to four program words are fetched from the external memory when an instruction cache miss is detected. 9 C 8 cdp 11 core-dma priority specify the priority of core and dma accesses to the external bus. 00 determined by comparing status register cp[1:0] to the active dma channel priority 01 dma accesses have higher priority than core accesses 10 dma accesses have the same priority as the core accesses 11 dma accesses have lower priority than the core accesses table 4-6. operating mode register (omr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 14 dsp56311 users manual motorola operating mode register (omr) 7ms0 memory switch mode allows some internal data memory (x, y, or both) to become part of the chip internal program ram. notes: 1. program data placed in the program ram/instruction cache area changes its placement after the ms bit is set (i.e., the instruction cache always uses the lowest internal program ram addresses). 2. to ensure proper operation, place six nop instructions after the instruction that changes the ms bit. 3. to ensure proper operation, do not set the ms bit while the instruction cache is enabled (ce bit is set in sr). 6sd0 stop delay mode determines the length of the delay invoked when the core exits the stop state. the stop instruction suspends core processing indefinitely until a defined event occurs to restart it. if sd is cleared, a 128k clock cycle delay is invoked before a stop instruction cycle continues. however, if sd is set, the delay before the instruction cycle continues is 16 clock cycles. the long delay allows a clock stabilization period for the internal clock to begin oscillating and to stabilize. when a stable external clock is used, the shorter delay allows faster start-up of the dsp56300 core. 5 0 reserved. write to zero for future compatibility. 4ebd0 external bus disable disables the external bus controller to reduce power consumption when external memories are not used. when ebd is set, the external bus controller is disabled and external memory cannot be accessed. when ebd is cleared, the external bus controller is enabled and external access can be performed. hardware reset clears the ebd bit. 3 C 0 md C ma * chip operating mode indicate the operating mode of the dsp56300 core. on hardware reset, these bits are loaded from the external mode select pins, modd, modc, modb, and moda, respectively. after the dsp56300 core leaves the reset state, md, mc, mb, and ma can be changed under program control. * the md C ma bits reflect the corresponding value of the mode input (i.e., modd, modc, modb, or moda), respectively. table 4-6. operating mode register (omr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
status register (sr) motorola core configuration 4- 15 4.5 status register (sr) the status register (sr) ( figure 4-4 ) is a 24-bit register that indicates the current system state of the processor and the results of previous arithmetic computations. the sr is pushed onto the system stack when program looping is initialized or a jsr is performed, including long interrupts. the sr consists of the following three special-purpose 8-bit control registers: n extended mode register (emr) (sr[23:16]) and mode register (mr) (sr[15:8]) define the current system state of the processor. the bits in both registers are affected by hardware reset, exception processing, enddo (end current do loop) instructions, rti (return from interrupt) instructions, and trap instructions. in addition, the emr bits are affected by instructions that specify sr as their destination, do forever instructions, brkcc instructions, and instructions that specify sr as a destination (e.g., movec). during hardware reset, all emr bits are cleared. the mr register bits are affected by do instructions, and instructions that directly reference the mr (e.g., andi, ori, or instructions, such as movec, that specify sr as the destination). during processor reset, the interrupt mask bits are set and all other bits are cleared. n condition code register (ccr) (sr[7:0])defines the results of previous arithmetic computations. the ccr bits are affected by data arithmetic logic unit (data alu) operations, parallel move operations, instructions that directly reference the ccr (ori and andi), and instructions that specify sr as a destination (e.g., movec). parallel move operations affect only the s and l bits of the ccr. during processor reset, all ccr bits are cleared. the definition of the three 8-bit registers within the sr is primarily for the purpose of compatibility with other motorola dsps. bit definitions in the following paragraphs identify the bits within the sr and not within the subregister. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 16 dsp56311 users manual motorola status register (sr) figure 4-4. status register extended mode register (emr) mode register (mr) condition code register (ccr) 23222120191817161514131211109876543210 cp1:0 rm sm ce sa fv lf dm sc s1:0 i1:0 s l e u n z v c reserved bit. read as zero. write with zero for future compatibility values after reset: 110000000000001100000000 cp1 core priority bit 1 lf do-loop flag s scaling flag cp0 core priority bit 0 dm double precision multiply l limit flag rm rounding mode sc sixteen-bit compatibility e extension flag sm arithmetic saturation mode s1 scaling mode bit 1 u unnormalized flag ce instruction cache enable s0 scaling mode bit 0 n negative flag sa sixteen-bit arithmetic i1 interrupt mask bit 1 z zero flag fv do-forever flag i0 interrupt mask bit 0 v overflow flag c carry flag table 4-7. status register bit definitions bit number bit name reset value description 23 C 22 cp[1 C 0] 11 core priority under control of the cdp[1:0] bits in the omr, the cp bits specify the priority of core accesses to external memory. these bits are compared against the priority bits of the active dma channel. if the core priority is greater than the dma priority, the dma waits for a free time slot on the external bus. if the core priority is less than the dma priority, the core waits for a free time slot on the external bus. if the core priority equals the dma priority, the core and dma access the external bus in a round robin pattern (e.g., ... p, x, y, dma, p, x, y, ...). priority mode core priority dma priority omr (cdp[1-0]) sr (cp[1 - 0]) dynamic 0 (lowest) determined by dcrn (dpr[1:0]) for active dma channel 00 00 10001 20010 3 (highest) 00 11 static core < dma 01 xx core = dma 10 xx core > dma 11 xx f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
status register (sr) motorola core configuration 4- 17 21 rm 0 rounding mode selects the type of rounding performed by the data alu during arithmetic operations. if rm is cleared, convergent rounding is selected. if rm is set, twos-complement rounding is selected. 20 sm 0 arithmetic saturation mode selects automatic saturation on 48 bits for the results going to the accumulator. this saturation is performed by a special circuit inside the mac unit. the purpose of this bit is to provide an arithmetic saturation mode for algorithms that do not recognize or cannot take advantage of the extension accumulator. 19 ce 0 cache enable enables/disables the instruction cache controller. if ce is set, the cache is enabled, and instructions are cached into and fetched from the internal program ram. if ce is cleared, the cache is disabled and the dsp56300 core fetches instructions from external or internal program memory, according to the memory space table of the specific dsp56300 core-based device. note: to ensure proper operation, do not clear cache enable mode while burst mode is enabled (omr[be] is set). 18 0 reserved. write to zero for future compatibility. 17 sa 0 sixteen-bit arithmetic mode affects data width functionality, enabling the sixteen-bit arithmetic mode of operation. when sa is set, the core uses 16-bit operations instead of 24-bit operations. in this mode, 16-bit data is right-aligned in the 24-bit memory locations, registers, and 24-bit register portions. shifting, limiting, rounding, arithmetic instructions, and moves are performed accordingly. for details on sixteen-bit arithmetic mode, consult the dsp56300 family manual . 16 fv 0 do forever flag set when a do forever loop executes. the fv flag, like the lf flag, is restored from the stack when a do forever loop terminates. stacking and restoring the fv flag when initiating and exiting a do forever loop, respectively, allow program loops to be nested. when returning from the long interrupt with an rti instruction, the system stack is pulled and the value of the fv bit is restored. 15 lf 0 do loop flag when a program loop is in progress, enables the detection of the end of the loop. the lf is restored from stack when a program loop terminates. stacking and restoring the lf when initiating and exiting a program loop, respectively, allow program loops to be nested. when returning from the long interrupt with an rti instruction, the system stack is pulled and the lf bit value is restored. table 4-7. status register bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 18 dsp56311 users manual motorola status register (sr) 14 dm 0 double-precision multiply mode enables four multiply/mac operations to implement a double-precision algorithm that multiplies two 48-bit operands with a 96-bit result. clearing the dm bit disables the mode. note: the double-precision multiply mode is supported to maintain object code compatibility with devices in the dsp56000 family. for a more efficient way of executing double precision multiply, refer to the chapter on the data arithmetic logic unit in the dsp56300 family manual . in double-precision multiply mode, the behavior of the four specific operations listed in the double-precision algorithm is modified. therefore, do not use these operations (with those specific register combinations) in double-precision multiply mode for any purpose other than the double precision multiply algorithm. all other data alu operations (or the four listed operations, but with other register combinations) can be used. the double-precision multiply algorithm uses the y0 register at all stages. therefore, do not change y0 when running the double-precision multiply algorithm. if the data alu must be used in an interrupt service routine, y0 should be saved with other data alu registers to be used and restored before the interrupt routine terminates. 13 sc 0 sixteen-bit compatibility mode affects addressing functionality, enabling full compatibility with object code written for the dsp56000 family. when sc is set, move operations to/from any of the following pcu registers clear the eight msbs of the destination: la, lc, sp, ssl, ssh, ep, sz, vba and sc. if the source is either the sr or omr, then the eight msbs of the destination are also cleared. if the destination is either the sr or omr, then the eight msbs of the destination are left unchanged. to change the value of one of the eight msbs of the sr or omr, clear sc. sc also affects the contents of the loop counter register. if sc is cleared (normal operation), then a loop count value of zero causes the loop body to be skipped, and a loop count value of $ffffff causes the loop to execute the maximum number of 2 24 C 1 times. if the sc bit is set, a loop count value of zero causes the loop to execute 2 16 times, and a loop count value of $ffffff causes the loop to execute 2 16 C 1 times. note: due to pipelining, a change in the sc bit takes effect only after three instruction cycles. insert three nop instructions after the instruction that changes the value of this bit to ensure proper operation. 12 0 reserved. set to 0 for future compatibility. table 4-7. status register bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
status register (sr) motorola core configuration 4- 19 11 C 10 s1/s0 0 scaling mode specify the scaling to be performed in the data alu shifter/limiter and the rounding position in the data alu mac unit. the shifter/limiter scaling mode affects data read from the a or b accumulator registers out to the x-data bus (xdb) and y-data bus (ydb). different scaling modes can be used with the same program code to allow dynamic scaling. one application of dynamic scaling is to facilitate block floating-point arithmetic. the scaling mode also affects the mac rounding position to maintain proper rounding when different portions of the accumulator registers are read out to the xdb and ydb. scaling mode bits are cleared at the start of a long interrupt service routine and during a hardware reset. 9 C 8 i1/i0 11 interrupt mask reflect the current interrupt priority level (ipl) of the processor and indicate the ipl needed for an interrupt source to interrupt the processor. the current ipl of the processor can be changed under software control. the interrupt mask bits are set during hardware reset, but not during software reset. priority i1 i0 exceptions permitted exceptions masked lowest 0 0 ipl 0, 1, 2, 3 none 0 1 ipl 1, 2, 3 ipl 0 1 0 ipl 2, 3 ipl 0, 1 highest 1 1 ipl 3 ipl 0, 1, 2 7s0 scaling set when a result moves from accumulator a or b to the xdb or ydb buses (during an accumulator to memory or accumulator to register move) and remains set until explicitly cleared; that is, the s bit is a sticky bit . the logical equations of this bit are dependent on the scaling mode. the scaling bit is set if the absolute value in the accumulator, before scaling, is > 0.25 or < 0.75. 6l0 limit set if the overflow bit is set or if the data shifter/limiter circuits perform a limiting operation. in arithmetic saturation mode, the l bit is also set when an arithmetic saturation occurs in the data alu result; otherwise, it is not affected. the l bit is cleared only by a processor reset or by an instruction that specifically clears it (i.e., a sticky bit ); this allows the l bit to be used as a latching overflow bit. the l bit is affected by data movement operations that read the a or b accumulator registers. table 4-7. status register bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 20 dsp56311 users manual motorola status register (sr) 5e1 extension cleared if all the bits of the integer portion of the 56-bit result are all ones or all zeros; otherwise, this bit is set. the scaling mode defines the integer portion. if the e bit is cleared, then the low-order fraction portion contains all the significant bits; the high-order integer portion is sign extension. in this case, the accumulator extension register can be ignored. if the e bit is set, it indicates that the accumulator extension register is in use. s1 s0 scaling mode integer portion 00 no scaling bits 55,54..............48,47 0 1 scale down bits 55,54..............49,48 10 scale up bits 55,54..............47,46 4u0 unnormalized set if the two msbs of the most significant portion (msp) of the result are identical; otherwise, this bit is cleared. the msp portion of the a or b accumulators is defined by the scaling mode. s1 s0 scaling mode integer portion 0 0 no scaling u = (bit 47 xor bit 46) 0 1 scale down u = (bit 48 xor bit 47) 1 0 scale up u = (bit 46 xor bit 45) 3n0 negative set if the msb of the result is set; otherwise, this bit is cleared. 2z0 zero set if the result equals zero; otherwise, this bit is cleared. 1v0 overflow set if an arithmetic overflow occurs in the 56-bit result; otherwise, this bit is cleared. v indicates that the result cannot be represented in the accumulator register (i.e., the register overflowed). in arithmetic saturation mode, an arithmetic overflow occurs if the data alu result is not representable in the accumulator without the extension part (i.e., 48-bit accumulator or the 32-bit accumulator in arithmetic sixteen-bit mode). 0c0 carry set if a carry is generated by the msb resulting from an addition operation. this bit is also set if a borrow is generated in a subtraction operation; otherwise, this bit is cleared. the carry or borrow is generated from bit 55 of the result. the c bit is also affected by bit manipulation, rotate, and shift instructions. table 4-7. status register bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
pll control register (pctl) motorola core configuration 4- 21 4.6 pll control register (pctl) the pctl is an x-i/o mapped, read/write register that directs the operation of the on-chip pll. (see figure 4-5 .) table 4-8 defines the dsp56311 pctl bits. 23 22 21 20 19 18 17 16 15 14 13 12 pd3 pd2 pd1 pd0 cod pen pstp xtld xtlr df2 df1 df0 11109876543210 mf11 mf10 mf9 mf8 mf7 mf6 mf5 mf4 mf3 mf2 mf1 mf0 figure 4-5. pll control register (pctl) table 4-8. pll control register (pctl) bit definitions bit number bit name reset value description 23 C 20 pd[3 C 0] 0 predivider factor bits define the predivision factor (pdf) to be applied to the pll input frequency. the pd[3:0] bits are cleared during dsp56311 hardware reset, which corresponds to a pdf of one. 19 cod clock output disable controls the output buffer of the clock at the clkout pin. when cod is set, the clkout output is pulled high. when cod is cleared, the clkout pin provides a 50 percent duty cycle clock. 18 pen pll enable enables pll operation. 17 pstp pll stop state controls pll and on-chip crystal oscillator behavior during the stop processing state. 16 xtld xtal disable controls the on-chip crystal oscillator xtal output. the xtld bit is cleared during dsp56311 hardware reset, so the xtal output signal is active, permitting normal operation of the crystal oscillator. 15 xtlr 0 crystal range controls the on-chip crystal oscillator transconductance. the xtlr bit is set to a predetermined value during hardware reset. in the dsp56311, this value is zero. 14C12 df division factor define the df of the low-power divider. these bits specify the df as a power of two in the range from 2 0 to 2 7 . 11C0 mf[1 C0] 0 pll multiplication factor define the multiplication factor that is applied to the pll input frequency. the mf bits are cleared during dsp56311 hardware reset and thus correspond to an mf of one. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 22 dsp56311 users manual motorola device identification register (idr) 4.7 device identification register (idr) the idr is a read-only factory-programmed register that identifies dsp56300 family members. it specifies the derivative number and revision number of the device. this information is used in testing or by software. figure 4-6 shows the contents of the idr. revision numbers are assigned as follows: $0 is revision 0, $1 is revision a, and so on. changing the following bits may cause the pll to lose lock and re-lock according to their new value: pd[3 C 0], pen, xtlr, and mf. . figure 4-6. identification register configuration (revision 0) 4.8 address attribute registers (aar0Caar3) the address attribute registers (aar0Caar3) are read/write registers that control the activity of the aa0 C aa3 / ras0 C ras3 pins. the associated aan / rasn pin is asserted if the address defined by the bac bits in the associated aar matches the exact number of external address bits defined by the bnc bits, and the external address space (x data, y data, or program) is enabled by the aar. figure 4-7 shows an aar register; table 4-9 lists the bit definitions. note that the dsp56311 does not support address multiplexing. 23 16 15 12 11 0 reserved revision number derivative number $00 $0 $311 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
address attribute registers (aar0Caar3) motorola core configuration 4- 23 figure 4-7. address attribute registers (aar0Caar3) (x:$fffff9C$fffff6) table 4-9. address attribute registers (aar0Caar3) bit definitions bit number bit name reset value description 23 C 12 bac[11 C 0] 0 bus address to compare read/write control bits that define the upper 12 bits of the 24-bit address with which to compare the external address to determine whether to assert the corresponding aa/ras signal. this is also true of 16-bit compatibility mode. the bnc[3:0] bits define the number of address bits to compare. 11 C 8 bnc[3 C 0] 0 bus number of address bits to compare specify the number of bits (from the bac bits) that are compared to the external address. the bac bits are always compared with the most significant portion of the external address (e.g., if bnc[3:0] = 0011, then the bac[11:9] bits are compared to the 3 msbs of the external address). if no bits are specified (i.e., bnc[3:0] = 0000), the aa signal is activated for the entire 16 m-word space identified by the space enable bits (bpen, bxen, byen), but only when the address is external to the internal memory map. the combinations bnc[3:0] = 1111, 1110, 1101 are reserved. bac0 bpen 0 1 byen 2 bat1 3 baap 4 5 6 7 8 9 10 11 bxen 12 13 14 bac8 15 16 17 18 19 20 21 22 23 bat0 bac3 bac2 bac11 bac5 bac7 bac6 bac9 bac10 bac1 bnc3 bnc1 bnc2 bnc0 bac4 bpac - reserved bit. write to zero for future compatibility. external access type aa pin polarity program space enable x data space enable y data space enable reserved packing enable number of address bit to compare address to compare f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 24 dsp56311 users manual motorola address attribute registers (aar0Caar3) 7 bpac 0 bus packing enable enables/disables the internal packing/unpacking logic. when bpac is set, packing is enabled. in this mode each dma external access initiates three external accesses to an 8-bit wide external memory (the addresses for these accesses are dab, then dab + 1 and then dab + 2). packing to a 24-bit word (or unpacking from a 24-bit word to three 8-bit words) is done automatically by the expansion port control hardware. the external memory should reside in the eight least significant bits (lsbs) of the external data bus, and the packing (or unpacking for external write accesses) occurs in little endian order (i.e., the low byte is stored in the lowest of the three memory locations and is transferred first; the middle byte is stored/transferred next; and the high byte is stored/transferred last). when this bit is cleared, the expansion port control logic assumes a 24-bit wide external memory. notes: 1. bpac is used only for dma accesses and not core accesses. 2. to ensure sequential external accesses, the dma address should advance three steps at a time in two-dimensional mode with a row length of one and an offset size of three. for details, refer to motorola application note, apr23/d, using the dsp56300 direct memory access controller. 3. to prevent improper operation, dma address + 1 and dma address + 2 should not cross the aar bank borders. 4. arbitration is not allowed during the packing access (i.e., the three accesses are treated as one access with respect to arbitration, and the bus mastership is not released during these accesses). 6 0 reserved. set to 0 for future compatibility. 5 byen 0 bus y data memory enable a read/write control bit that enables/disables the aa pin and logic during external y data space accesses. when set, byen enables the comparison of the external address to the bac bits during external y data space accesses. if byen is cleared, no address comparison is performed. 4 bxen 0 bus x data memory enable a read/write control bit that enables/disables the aa pin and logic during external x data space accesses. when set, bxen enables the comparison of the external address to the bac bits during external x data space accesses. if bxen is cleared, no address comparison is performed. 3 bpen 0 bus program memory enable a read/write control bit that enables/disables the aa/ras pin and logic during external program space accesses. when set, bpen enables the comparison of the external address to the bac bits during external program space accesses. if bpen is cleared, no address comparison is performed. 2 baap 0 bus address attribute polarity a read/write bus address attribute polarity (baap) control bit that defines whether the aa/ras signal is active low or active high. when baap is cleared, the aa/ras signal is active low (useful for enabling memory modules or for dram row address strobe). if baap is set, the appropriate aa/ras signal is active high (useful as an additional address bit). table 4-9. address attribute registers (aar0Caar3) bit definitions bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
jtag boundary scan register (bsr) motorola core configuration 4- 25 4.9 jtag identification (id) register the jtag id register is a 32-bit read-only factory-programmed register that distinguishes the component on a board according to the ieee 1149.1 standard. figure 4-8 shows the jtag id register configuration. version information corresponds to the revision number ($0 for revision 0, $1 for revision a, etc.). i) 4.10 jtag boundary scan register (bsr) the bsr in the dsp56311 jtag implementation contains bits for all device signals, clock pins, and their associated control signals. all dsp56311 bidirectional pins have a corresponding register bit in the bsr for pin data and are controlled by an associated control bit in the bsr. for details on the bsr, consult the dsp56300 family manual . 1 - 0 bat 0 bus access type read/write bits that define the type of external memory (dram or sram) to access for the area defined by the bac[11:0],byen, bxen, and bpen bits. the encoding of bat[1:0] is: 00 = reserved 01 = sram access 10 = dram access 11 = reserved when the external access type is defined as a dram access (bat[1:0] = 10), aa/ras acts as a row address strobe (ras) signal. otherwise, it acts as an address attribute signal. external accesses to the default area always execute as if bat[1:0] = 01 (i.e., sram access). 31 28 27 22 21 12 11 1 0 version information design center number sequence number manufacturer identity 1 0000 000110 0000001011 00000001110 1 figure 4-8. jtag identification register configuration (revision 0) table 4-9. address attribute registers (aar0Caar3) bit definitions bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
4- 26 dsp56311 users manual motorola jtag boundary scan register (bsr) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola programming the peripherals 5- 1 chapter 5 programming the peripherals when peripherals are programmed in a given application, a number of possible modes and options are available for use. chapters 6 through 10 describe in detail the possible modes and configurations for peripheral registers and ports. this chapter presents general guidelines for initializing the peripherals. these guidelines include a description of how the control registers are mapped in the dsp56311, data transfer methods that are available when the various peripherals are used, and information on general-purpose input/output (gpio) configuration. 5.1 peripheral initialization steps each peripheral has its own initialization process. however, all four peripherals share some common steps, which follow: 1. determine the register values to be programmed. find the peripheral register descriptions in the manual. choose the appropriate modes to configure for a given application. determine the bit settings for programming those modes. 2. make sure the peripheral is in individual reset state or disabled. peripheral registers should not be modified while the peripheral is active. 3. configure the registers by writing the predetermined values to them. write the register values determined in step 1 into the appropriate register locations. 4. enable the peripheral. once the peripheral is enabled, it operates according the programmed modes determined in step 1. for detailed initialization procedures unique to each peripheral, consult the initialization section within each peripherals chapter. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 5- 2 mapping the control registers 5.2 mapping the control registers the i/o peripherals are controlled through registers mapped to the top 128 words of x-data memory ($ffff80 - $ffffff). referred to as the internal i/o space, the control registers are accessed by move (move, movep) instructions and bit-oriented instructions (bchg, bclr, bset, btst, brclr, brset, bsclr, bsset, jclr, jset, jsclr, and jsset). the contents of the internal x i/o memory space are listed in appendix b, programming reference , table b-2. figure 5-1. memory mapping of peripherals control registers 5.3 reading status registers each peripheral has a read-only status register that indicate the state of the peripheral at a given time. the hi08, essi, and sci have dedicated status registers. the triple timer has status bits embedded within a control/status register. changes in the status bits can generate interrupt conditions. for example, the hi08 has a host status register with two host flag bits that can be encoded by the host to generate an interrupt in the dsp. x-data memory internal i/o external internal reserved external internal x-data ram 48k (default) $ffffff $ffff80 $fff000 $ff0000 $00c000 $000000 peripherals control registers memory space f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
data transfer methods motorola programming the peripherals 5- 3 5.4 data transfer methods peripheral i/o on the dsp56311 can be accomplished in three ways: n polling n interrupts n dma 5.4.1 polling polling is the easiest method for data transfers. when polling is chosen, the dsp56311 core continuously checks a specified register flag waiting for an event to happen. one example would be setting an overflow flag in one of the timers. once the event occurs, the dsp56311 is free to continue with its next task. however, while it is waiting for the event to occur, the dsp56311 core is not executing any other code. polling is the easiest transfer method since it does not require register initializations, but it is also the least efficient use of the dsp core. each peripheral has its own set of flags which may be polled to determine when data is ready to be transferred. for example, the essi control registers provide bits that tell the core when data is ready to be transferred to or from the peripheral. the core polls these bits to determine when to interact with the peripheral. similar flags exist for each peripheral. example 5-1 shows software polling programmed in an application using the hi08. example 5-1. software polling jclr #1,x:m_hsr,* ; loop if hsr[1]:htde=0 move y:(tbuff_ptr)+,x1 ; move data to x1 in this example, the core waits until the host status registers (hsr) host transmit data empty (htde) flag is set. when the flag is set, the core moves data from y memory to the x1 register. 5.4.2 interrupts interrupts are more efficient than polling, but interrupts also require additional register initializations. polling requires the core to remain busy checking a flag in a specified control register and therefore does not allow the core to execute other code at the same time. for interrupts, you can initialize the interrupt so it is triggered off one of the same flags that can also be polled. then the core does not have to continuously check a flag. once the interrupt is initialized and the flag is set, the core is notified to execute a data transfer. until the flag is set, the core can remain busy executing other sections of code. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 5- 4 data transfer methods when an interrupt occurs, the core execution flow jumps to the interrupt start address defined in table b-4 in appendix b, programming reference . it executes code starting at the interrupt address. if it is a short interrupt (i.e., the service routine is two opcodes long), the code automatically returns to the original program flow after executing two opcodes with no impact to the pipeline. otherwise, if a longer service routine is required the programmer can place a jump-to-subroutine (jsr) instruction at the interrupt service address. in this case, the program executes that service routine and continues until a return-from-interrupt (rti) instruction executes. the execution flow then resumes from the position the program counter was in before the interrupt was triggered. configuring interrupts requires two steps: 1. setting up the interrupt routine the interrupt handler is located at the interrupt starting address. the interrupt routines can be short (only two opcodes long) or long (more than two opcodes and requiring a jsr instruction). 2. enabling the interrupts a. set the corresponding bits in the applicable peripheral control register. b. enable peripheral interrupts in the interrupt priority register (iprp). c. enable global interrupts in the mode register (mr) portion of the status register (sr). events that change bits in the peripheral control registers can then trigger the interrupt. depending on the peripheral, from two to six peripheral interrupt sources are available to the programmer. example 5-2 shows a short interrupt programmed for the hi08. the main program enables the host receive interrupt in the host control register (hcr). when the interrupt is triggered during code execution, the core processing jumps to the host receive interrupt routine location at p:$60 and executes the code there. since this is a short interrupt, the core returns to normal code execution after executing the two move instructions, and an rti instruction is not necessary. example 5-2. interrupts bset #m_hrie,x:m_hcr; enable host receive interrupt ; short interrupt routine org p:$60 movep x:m_hrx,x1 ; hi08 receive data full interrupt move x1,y:(r0)+ f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
data transfer methods motorola programming the peripherals 5- 5 5.4.3 dma the direct memory access (dma) controller permits data transfers between internal/external memory and/or internal/external i/o in any combination without the intervention of the dsp56311 core. dedicated dma address and data buses and internal memory partitioning ensure that a high level of isolation is achieved so the dma operation does not interfere with the core operation or slow it down. the dma moves data to/from the peripheral transmit/receive registers. the programmer may use the dma control registers to configure sources and destinations of data transfers. depending on the peripheral, you will find one to four peripheral request sources available. this is the most efficient method of data transfer available. core intervention is not required after the dma channel is initialized. example 5-3 shows a dma configuration for transferring data to the host transmit register of the hi08. example 5-3. dma transfers bclr #m_d1l0,x:m_iprc ; disable dma1 interrupts bclr #m_d1l1,x:m_iprc movep #tbuff_start,x:m_dsr1 ; dma1 source is transmit buffer movep #m_htx,x:m_ddr1 ; dma1 destination is htx movep #tbuff_size-1,x:m_dco1 ; dma1 count is the full buffer movep #init_dcr1,x:m_dcr1 ; init. dma1 control register table 5-1. dma-accessible registers block register dma read write essi tx0 no yes tx1 no yes tx2 no yes rx yes no sci srx yes no stx no yes efcop fdir no yes fdor yes no hi08 htx no yes hrx yes no timer f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 5- 6 general-purpose input/output (gpio) dma requires more initialization code and consideration of dma modes. however, it is the most efficient use of core resources. once these registers are programmed, the user must enable the dma by triggering a dma request off one of the peripheral control flags or enabling it in normal program flow or an interrupt service routine. 5.4.4 advantages and disadvantages polling is the easiest method to implement, but it requires a large amount of dsp56311 core processing power. the core cannot be involved in other processing activities while it is polling receive and transmit ready bits. interrupts require more code, but the core can process other routines while waiting for data i/o. an interrupt is generated when data is ready to be transferred to or from the peripheral device. dma requires even less core intervention, and the setup code is minimal, but the dma channels must be available. note: do not interrupt requests and dma requests simultaneously. 5.5 general-purpose input/output (gpio) the dsp56311 provides 34 bidirectional signals that can be configured as gpio signals or as peripheral dedicated signals. no dedicated gpio signals are provided. all of these signals are gpio by default after reset. the control register settings of the dsp56311 peripherals determine whether these signals function as gpio or as peripheral dedicated signals. this section tells how signals can be used as gpio. chapter 2, signals/connections details the special uses of the 34 bidirectional signals. these signals fall into five groups and are controlled separately or as a group: n port b: 16 gpio signals (shared with the hi08 signals) n port c: six gpio signals (shared with the essi0 signals) n port d: six gpio signals (shared with the essi1 signals) n port e: three gpio signals (shared with the sci signals) n timers: three gpio signals (shared with the triple timer signals) 5.5.1 port b signals and registers each of the 16 port b signals not used as an hi08 signal can be configured as a gpio signal. three registers control the gpio functionality of port b: host control register (hcr), host port gpio data register (hdr), and host port gpio direction register (hddr). chapter 6, host interface (hi08) discusses these registers. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
general-purpose input/output (gpio) motorola programming the peripherals 5- 7 figure 5-2. port b signals 5.5.2 port c signals and registers each of the six port c signals not used as an essi0 signal can be configured as a gpio signal. three registers control the gpio functionality of port c: port c control register (pcrc), port c direction register (prrc), and port c data register (pdrc). chapter 7, enhanced synchronous serial interface (essi) discusses these registers. figure 5-3. port c signals dsp56311 host interface (hi08) port non-multiplexed bus multiplexed bus port b gpio h0 - h7 had0 - had7 pb0 - pb7 ha0 has/has pb8 pb9 pb10 pb13 pb11 pb12 pb14 pb15 ha1 ha2 hcs/hcs single ds hrw hds/hds single hr hreq/hreq hack/hack ha8 ha9 ha10 double ds hrd /hrd hwr /hwr double hr htrq/htrq hrrq/hrrq dsp56311 enhanced synchronous serial interface port 1 (essi0) sc00-sc02 sck0 srd0 std0 port c gpio pc0 - pc2 pc3 pc4 pc5 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 5- 8 general-purpose input/output (gpio) 5.5.3 port d signals and registers each of the six port d signals not used as an essi1 signal can be configured as a gpio signal. three registers control the gpio functionality of port d: port d control register (pcrd), port d direction register (prrd), and port d data register (pdrd). chapter 7, enhanced synchronous serial interface (essi) discusses these registers. figure 5-4. port d signals 5.5.4 port e signals and registers each of the three port e signals not used as an sci signal can be configured as a gpio signal. three registers control the gpio functionality of port e: port e control register (pcre), port e direction register (prre), and port e data register (pdre). chapter 8, serial communication interface (sci) discusses these registers. figure 5-5. port e signals dsp56311 enhanced synchronous serial interface port 1 (essi1) sc10-sc02 sck1 srd1 std1 port c gpio pd0 - pd2 pd3 pd4 pd5 dsp56311 serial communications interface (sci) port rxd txd sclk port e gpio pe0 pe1 pe2 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
general-purpose input/output (gpio) motorola programming the peripherals 5- 9 5.5.5 triple timer signals and registers each of the three triple timer interface signals (tio0Ctio2) not used as a timer signal can be configured as a gpio signal. each signal is controlled by the appropriate timer control status register (tcsr0Ctcsr2). chapter 9, triple timer module discusses these registers. figure 5-6. triple timer signals dsp56311 timers tio0 tio1 tio2 timer gpio tio0 tio1 tio2 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 5- 10 general-purpose input/output (gpio) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola host interface (hi08) 6- 1 chapter 6 host interface (hi08) the host interface (hi08) is a byte-wide, full-duplex, double-buffered parallel port that can connect directly to the data bus of a host processor. the hi08 supports a variety of buses and provides glueless connection with a number of industry-standard microcomputers, microprocessors, and dsps. the hi08 signals not used to interface to the host can be configured as gpio signals, up to a total of 16. 6.1 features the hi08 host is a slave device that operates asynchronously to the dsp core and host clocks. thus, the hi08 peripheral has a host processor interface and a dsp core interface. this section lists the features of the host processor and dsp core interfaces. 6.1.1 dsp core interface n mapping: registers are directly mapped into eight internal x data memory locations. n data word: dsp56311 24-bit (native) data words are supported, as are 8-bit and 16-bit words. n handshaking protocols: software polled interrupt driven core dma accesses n instructions: memory-mapped registers allow the standard move instruction to transfer data between the dsp56311 and external hosts. a special movep instruction for i/o service capability using fast interrupts. bit addressing instructions (for example, bchg, bclr, bset, btst, jclr, jsclr, jset, jsset) simplify i/o service routines. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 2 dsp56311 users manual motorola features 6.1.2 host processor interface n sixteen signals support nonmultiplexed or multiplexed buses: h0Ch7/had0Chad7 host data bus (h0Ch7) or host multiplexed address/data bus (had0Chad7) has/ha0 address strobe (has) or host address line (ha0) ha8/ha1 host address line (ha8) or host address line (ha1) ha9/ha2 host address line (ha9) or host address line (ha2) hrw/hrd read/write select (hrw) or read strobe (hrd) hds/hwr data strobe (hds) or write strobe (hwr) hcs/ha10 host chip select (hcs) or host address line (ha10) hreq/htrq host request (hreq) or host transmit request (htrq) hack/hrrq host acknowledge (hack) or host receive request (hrrq) n mapping: hi08 registers are mapped into eight consecutive locations in the hosts external bus address space. the hi08 acts as a memory or i/o-mapped peripheral for microprocessors, microcontrollers, etc. n transfer modes: mixed 8-bit, 16-bit, and 24-bit data transfers dsp-to-host host-to-dsp host command n handshaking protocols: software polled interrupt-driven (interrupts are compatible with most processors, including the mc68000, 8051, hc11, and hitachi h8.) n data word: 8 bits n dedicated interrupts: C separate request lines for each interrupt source C special host commands force dsp core interrupts under host processor control. these commands are useful for real-time production diagnostics f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
host port signals motorola host interface (hi08) 6- 3 creation of a debugging window for program development host control protocols n interface capabilities: glueless interface (no external logic required) to motorola hc11 hitachi h8 8051 family thomson p6 family minimal glue-logic (pull-ups, pull-downs) required to interface to isa bus motorola 68k family intel x86 family 6.2 host port signals the host port signals are discussed in chapter 2 , signals/connections . each host port signal can be programmed as a host port signal or as a gpio signal, pb0Cpb15. see table 6-1 through table 6-3 . table 6-1. hi08 signal definitions for operational modes hi08 port signal multiplexed address/data bus mode nonmultiplexed bus mode gpio mode had0Chad7 had0Chad7 h0Ch7 pb0Cpb7 has/ha0 has /has ha0 pb8 ha8/ha1 ha8 ha1 pb9 ha9/ha2 ha9 ha2 pb10 hcs/ha10 ha10 hcs /hcs pb13 table 6-2. hi08 data strobe signals hi08 port signal single strobe bus dual strobe bus gpio mode hrw/hrd hrw hrd /hrd pb11 hds/hwr hds /hds hwr /hwr pb12 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 4 dsp56311 users manual motorola overview the hi08 port can operate in multiplexed or non-multiplexed mode. in multiplexed mode (hpcr[11]:hmux=1), the lower eight address signals multiplex with the eight data lines. in non-multiplexed mode (hpcr[11]:hmux=0), the hi08 requires a chip select signal and three address lines to select one of the eight registers accessible to the host. eight lines are used for data. the hi08 port can also be programmed to use a single or dual read/write data strobe and single or double host request line. software and hardware resets clear all dsp-side control registers and configure the hi08 as gpio with all 16 signals disconnected. to select gpio functions, clear hpcr bits 6 through 1; to select other hi08 functions, set those same bits. if the hi08 is in gpio mode, the hddr configures each corresponding signal in the hdr as an input signal if the hddr bit is cleared or as an output signal if the hddr bit is set. for details, see section 6.6.3 , "host data direction register (hddr)," on page 6-16 and section 6.6.4 , "host data register (hdr)," on page 6-16. 6.3 overview the hi08 is partitioned into two register banks, as figure 6-1 shows. the host-side register bank is accessible only to the host, and the dsp-side register bank is accessible only to the dsp core. for the host, the hi08 appears as eight byte-wide locations mapped in its external address space. the dsp-side registers appear to the dsp core as six 24-bit registers mapped into internal i/o x memory space and therefore accessible via standard dsp56300 instructions and addressing modes. in gpio mode, two additional registers (hddr and hdr) are related to the hi08 peripheral. the separate receive and transmit data paths are double buffered for efficient, high speed asynchronous transfers. the host-side transmit data path (host writes) is also the dsp-side receive path; the host-side receive data path (host reads) is also the dsp-side transmit path. the receive (rxh:m:l) and transmit data registers (txh:m:l) use the same host address. during host writes to these addresses, the data is transferred to the transmit data registers while reads are performed from the receive data registers. table 6-3. hi08 host request signals hi08 port signal vector required no vector required gpio mode hreq/ htrq hreq /hreq htrq /htrq pb14 hack/ hrrq hack /hack hrrq /hrrq pb15 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
overview motorola host interface (hi08) 6- 5 figure 6-1. hi08 block diagram txl txm txh 8 hpcr latch rxl ivr cvr icr 24 hddr hcr hsr hdr dsp peripheral data bus host bus rxm hbar isr 8 hrx htx core dma data bus rxh hcr = host control register hsr = host status register hpcr = host port control register hbar = host base address register htx = host transmit register hrx = host receive register hddr = host data direction register hdr = host data register icr = interface control register cvr = command vector register ivr = interrupt vector register rxh = receive register high rxm = receive register middle rxl = receive register low txh = transmit register high txm = transmit register middle txl = transmit register low address comparator 24 24 24 24 24 24 24 24 24 24 24 8 8 8 8 3 8 8 8 8 8 8 3 5 isr = interface status register host-side registers dsp-side registers control registers data registers control registers data registers dsp side host side f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 6 dsp56311 users manual motorola operation 6.4 operation the hi08 is a slave-only device, so the host is the master of all bus transfers. in host-to-dsp transfers, the host writes data to the transmit byte registers (txh:m:l). in dsp-to-host transfers the host reads data from the receive byte registers (rxh:m:l). the dsp side has access only to the host receive data register (hrx) and the host transmit data register (htx). data automatically moves between the host-side data registers and the dsp-side data registers when it is available. this double-buffered mechanism allows for fast data transfers but creates a pipeline that can either stall communication (if the pipeline is either full or empty) or cause erroneous data transfers (new data to be overwritten or old data to be read twice). the hi08 port has several handshaking mechanisms to counter these buffering effects. suppose the host is writing several pieces of data to the hi08 port. the host first uses one of the handshaking protocols to determine whether any data previously written to the transmit byte registers (txh:m:l) has successfully transferred to the dsp side. if the host-side transmit byte registers (txh:m:l) are empty, the host writes the data to these registers. the transfer to the dsp-side host receive data register (hrx) occurs only if hrx is empty (that is, the dsp has read it). the dsp core then uses an appropriate handshaking protocol to move data from the hrx to the receiving buffer or register. without handshaking, the host might overwrite data not transferred to the dsp side or the dsp might receive stale data. similarly, when the host performs multiple reads from the hi08 port receive byte registers (rxh:m:l), the dsp side uses an appropriate handshaking protocol to determine whether any data previously written to the host transmit register (htx) has successfully transferred to the host-side registers. if htx is empty, the dsp writes the data to this register. data transfers to the host-side receive byte registers (rxh:m:l) occur only if they are empty (that is, the host has read them). the host can then use any of the available handshaking protocols to determine whether more data is ready to be read. the dsp56311 hi08 port offers the following handshaking protocols for data transfers with the host: n software polling n interrupts n core dma access n host requests the choice of which protocol to use is based on such system constraints as the amount of data to be transferred, the timing requirements for the transfer, and the availability of such resources as processing bandwidth and dma channels. all of these constraints are f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation motorola host interface (hi08) 6- 7 discussed in the following sections. the transfers described here occur asynchronously between the host and the dsp; each transferring data at its own pace. however, use of the appropriate handshaking protocol allows data transfers to occur at optimum rates. 6.4.1 software polling software polling is the simplest data transfer method to use, but it demands the greatest amount of the cores processing power. status bits are provided for the host or the dsp core to test and determine if the data registers are empty or full. however, the dsp core cannot be involved in other processing activities while it is polling these status bits. on the dsp side, for transfers from the dsp to the host (host reads), the dsp core must determine the state of host transmit data register (htx). in transfers from the host to the dsp (host writes), the dsp side should determine the state of the host receive data register (hrx). thus, two bits are provided to the core for polling: n the host transmit data empty bit in the host status register (hsr[1]:htde) n the host receive data full bit in the host status register (hsr[0]:hrdf) a similar mechanism is available on the host-side to determine the state of the transmit registers (txh:txm:txl) and receive registers (rxh:rhm:rhl). two bits are provided to the host for polling: n the transmit data empty bit in the interface status register (isr[1]:txde) n the receive data full bit in the interface status register (isr[0]:rxdf) the hi08 also offers four general-purpose flags for communication between the host and the dsp. the dsp-side uses the hsr host flag bits (hcr[4 C 3]=hf3:hf2) to pass application-specific information to the host. the status of hf3:hf2 is reflected in the host-side isr host flag bits (isr[4 C 3]=hf3:hf2). similarly, the host side can use the icr host flag bits (icr[4 C 3]=hf1:hf0) to pass application-specific information to the dsp. the status of hf1:hf0 is reflected in the dsp-side hsr host flag bits (hsr[4 C 3]=hf1:hf0). 6.4.2 core interrupts and host commands the hi08 can request interrupt service from the dsp56311 core. the dsp56311 core interrupts are internal and do not require the use of an external interrupt signal. when the appropriate interrupt enable bit in the hcr is set, an interrupt condition caused by the host interface sets the appropriate bit in the hsr, generating an interrupt request to the dsp56311 interrupt controller (see figure 6-2 ). the dsp56311 acknowledges interrupts f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 8 dsp56311 users manual motorola operation by jumping to the appropriate interrupt service routine. the following dsp core interrupts are possible from the hi08 peripheral: n host command n transmit data register empty n receive data register full these interrupts are maskable via the host receive interrupt enable bit (hcr[0]=hrie), the host transmit interrupt enable bit (hcr[1]=htie), and the host command interrupt enable bit (hcr[2]=hcie), respectively. receive data full and transmit data empty interrupts move data to/from the htx and hrx data registers. the dsp interrupt service routine must read or write the appropriate hi08 data register (hrx or htx) to clear the interrupt condition. host commands allow the host to issue command requests to the dsp by selecting any of 128 dsp interrupt routines for execution. for example, the host may issue a command via the hi08 that sets up and enables a dma transfer. the dsp56311 processor has reserved interrupt vector addresses for application-specific service routines. however, this flexibility is independent of the data transfer mechanisms in the hi08 and allows the host to force execution of any interrupt handler (for example, ssi, sci, irqx, and so on). to enable host command interrupts, the hcr[2]=hcie bit is set on the dsp side. the host then uses the command vector register (cvr) to start an interrupt routine. the host sets the host command bit (cvr[7]=hc) to request the command interrupt and the seven host vector bits cvr[6 C 0]=hv6:hv0 to select the interrupt address to be used. when figure 6-2. hi08 core interrupt operation 15 x:hcr x:hsr 0 enable hf3 hf2 hcie htie hrie hcr hf1 hf0 hcp htde hrdf hsr status dsp core interrupts receive data full transmit data empty host command 15 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation motorola host interface (hi08) 6- 9 the dsp core recognizes the host command interrupt, the address of the interrupt taken is 2xhv. for host command interrupts, the interrupt acknowledge from the dsp56311 program controller clears the pending interrupt condition. note: when the dsp enters stop mode, the hi08 pins are electrically disconnected internally, thus disabling the hi08 until the core leaves stop mode. do not issue a stop command via the hi08 unless some other mechanism for exiting this mode is provided. 6.4.3 core dma access the dsp56300 family direct memory access (dma) controller permits transfers between internal or external memory and i/o without any core intervention. a dma channel can be set up to transfer data to/from the htx and hrx data registers, freeing the core to use its processing power on functions other than polling or interrupt routines for the hi08. dma may well be the best method to use for data transfers, but it requires that one of the six dma channels be available for use. two hi08 dma sources are possible, as table 6-4 shows. refer to the dsp56300 family manual to learn about dma accesses. note that dma transfers do not access the host bus. the host must determine when data is available in the host-side data registers using an appropriate polling mechanism. 6.4.4 host requests a set of signal lines allow the hi08 to request service from the host. the request signal lines normally connect to the host interrupt request pins (irqx) and indicate to the host when the dsp hi08 port requires service. the hi08 can be configured to use either a single host request (hreq) line for both receive and transmit requests or two signal lines, a host transmit request (htrq) and a host receive request (hrrq), for each type of transfer. host requests are enabled on both the dsp-side and host-side. on the dsp side, the hpcr host request enable bit (hpcr[4]=hren) is set to enable host requests. on the host side, clearing the icr double host request bit (icr[2]=hdrq) configures the hi08 to use a single request line (hreq). setting the icr[2]=hdrq bit enables both transmit and request lines to be used. further, the host uses the icr receive request enable bit (icr[0]=rreq) and the icr transmit request enable bit (icr[1]=treq) to enable table 6-4. dma request sources requesting device dcrx[15 C 11]=drs4 C drs0 host receive data full (hrdf=1) 10011 host transmit data empty (htde=1) 10100 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 10 dsp56311 users manual motorola operation receive and transmit requests, respectively.when host requests are enabled, the host request pins operate as shown in figure 6-3 . figure 6-3. hi08 host request structure table 6-5 shows the operation of the hreq pin when a single request line is used. the host can test these icr bits to determine the interrupt source. table 6-6 shows the operation of the transmit request (htrq) and receive request (hrrq) lines with dual host requests enabled. table 6-5. hreq pin operation in single request mode (icr[2]=hdrq=0) icr[1]=treq icr[0]=rreq hreq pin 0 0 no interrupts 0 1 rxdf request enabled 1 0 txde request enabled 1 1 rxdf and txde request enabled table 6-6. htrq and hrrq pin operation in double request mode (icr[2]=hdrq=1) icr[1]=treq icr[0]=rreq htrq pin hrrq pin 0 0 no interrupts no interrupts 0 1 no interrupts rxdf request enabled 1 0 txde request enabled no interrupts 1 1 txde request enabled rxdf request enabled $0 hf1 hf0 hlend treq rreq icr enable 70 init 0 0 status 70 $2 hf3 hf2 trdy txde rxdf isr hreq 0 0 host request asserted hrrq hreq htrq host request signals f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation motorola host interface (hi08) 6- 11 6.4.5 endian modes the host little endian bit in the host-side interface control register (icr[5]=hlend) allows the host to access the hi08 data registers in big endian or little endian mode. in little endian mode (hlend=1), a host transfer occurs as shown in the figure 6-4 . figure 6-4. hi08 read and write operations in little endian mode the host can transfer one byte at a time, so a 24-bit datum would be transferred using three store (or load) byte operations, ensuring that the data byte at host bus address $7 is written last since this causes the transfer of the data to the dsp-side hrx. however, the host bus controller may be sophisticated enough that the host can transfer all bytes in a single operation (instruction). for example, in the power pc mpc860 processor, the general- purpose controller module (gpcm) in the memory controller can be programmed so that the host can execute a single read (load word, ldw) or write (store word, stw) instruction to the hi08 port and cause four byte transfers to occur on the host bus. the 32-bit datum transfer shown in figure 6-4 has byte data xx written to hi08 address $4, byte aa to address $5, byte bb to address $6 and byte cc to address $7 (this assumes the 24-bit datum is contained in the lower 24 bits of the hosts 32-bit data register as shown). a similar operation occurs when the hi08 is initialized in big endian mode by clearing the host little endian bit (icr[5]=hlend). big endian mode is depicted in figure 6-5 . cc bb aa high byte low byte host bus address: $5 $6 $7 aa bb cc htx/hrx bit number: 23 0 dsp side host side cc bb aa (read/write last!) xx host 32-bit internal register f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 12 dsp56311 users manual motorola boot-up using the hi08 host port figure 6-5. hi08 read and write operations in big endian mode 6.5 boot-up using the hi08 host port the dsp56300 core has eight bootstrap operating modes to start up after reset. as the processor exits the reset state the value at the external mode pins moda/irqa, modb/irqb, modc/irqc and modd/irqd are loaded into the chip operating mode bits (ma, mb, mc and md) of the operating mode register (omr). these bits determine the bootstrap operating mode. modes c, d, e and f use the hi08 host port to bootstrap the application code to the dsp. the following table describes these modes. the bootstrap program is factory-programmed into an internal 192-word by 24-bit bootstrap rom at locations $ff0000 to $ff00bf of p memory. this program can load program ram segment from the hi08 host port. when any of the modes in the preceding table are used, the core begins executing the bootstrap program and configures the hi08 based on the omr mode bits. the bootstrap program then expects the following data sequence when the user program is downloaded from the hi08: 1. three bytes (least significant byte first) indicating the number of 24-bit program words to be loaded. mode modd modc modb moda hi08 bootstrap description c1100isa/dsp 5630x mode d1101hc11 non-multiplexed bus mode e11108 051 multiplexed bus mode f1111mc68302 bus mode aa bb cc low byte high byte host bus address: $5 $6 $7 aa bb cc htx/hrx register: 23 0 dsp side host side aa bb cc (read/write last!) xx host 32-bit internal register f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp core programming model motorola host interface (hi08) 6- 13 2. three bytes (least significant byte first) indicating the 24-bit starting address in p-memory to load the user's program. 3. the user's program (three bytes, least significant byte first, for each program word). once the bootstrap program finishes loading the specified number of words, it jumps to the specified starting address and executes the loaded program. 6.6 dsp core programming model the dsp56300 core treats the hi08 as a memory-mapped peripheral occupying eight 24-bit words in x data memory space. the dsp can use the hi08 as a normal memory-mapped peripheral, employing either standard polled or interrupt-driven programming techniques. separate transmit and receive data registers are double-buffered to allow the dsp and host processor to transfer data efficiently at high speed. direct memory mapping allows the dsp56311 core to communicate with the hi08 registers using standard instructions and addressing modes. in addition, the movep instruction allows direct data transfers between dsp56311 internal memory and the hi08 registers or vice versa . there are two types of host processor registers, data and control, with eight registers in all. the dsp core can access all eight registers, but the external host cannot.the following data registers are 24-bit registers used for high-speed data transfer to and from the dsp. n host data receive register (hrx), on page 6-22 n host data transmit register (htx), on page 6-21 the dsp-side control registers are 16-bit registers that control hi08 functionality: n host control register (hcr), on page 6-14 n host status register (hsr), on page 6-15 n host gpio data direction register (hddr), on page 6-16 n host gpio data register (hdr), on page 6-16 n host base address register (hbar), on page 6-17 n host port control register (hpcr), on page 6-17 both hardware and software resets disable the hi08. after a reset, the hi08 signals are configured as gpio and disconnected from the dsp56300 core (that is, the signals are left floating). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 14 dsp56311 users manual motorola dsp core programming model 6.6.1 host control register (hcr) this read/write register controls the hi08 interrupt operation. initialization values for hcr bits are presented in section 6.6.9 , "dsp-side registers after reset," on page 6-22. 1514131211109876543210 hf3 hf2 hcie htie hrie reserved bit; read as 0; should be written with 0 for future compatibility. figure 6-6. host control register (hcr) (x:$ffffc2) table 6-7. host control register (hcr) bit definitions bit number bit name reset value description 15 C 5 0 reserved. set to 0 for future compatibility. 4 C 3 hf[3 C2] 0 host flags 2, 3 general-purpose flags for dsp-to-host communication. the dsp core can set or clear hf[3 C 2]. the values of hf[3 C 2] are reflected in the interface status register (isr); that is, if they are modified by the dsp software, the host processor can read the modified values by reading the isr. these two general-purpose flags can be used individually or as encoded pairs in a simple dsp-to-host communication protocol, implemented in both the dsp and the host processor software. the bit value is indeterminate after an individual reset. 2 hcie 0 host command interrupt enable generates a host command interrupt request if the host command pending (hcp) status bit in the hsr is set. if hcie is cleared, hcp interrupts are disabled. the interrupt address is determined by the host command vector register (cvr). note: if more than one interrupt request source is asserted and enabled (for example, hrdf is set, hcp is set, hrie is set, and hcie is set), the hi08 generates interrupt requests according to priorities shown here. the bit value is indeterminate after an individual reset. priority interrupt source highest host command (hcp = 1) transmit data (htde = 1) lowest receive data (hrdf = 1) 1htie0 host transmit interrupt enable generates a host transmit data interrupt request if the host transmit data empty (htde) bit in the hsr is set. the htde bit is set when data is transferred from the htx to the rxh, rxm, or rxl registers. if htie is cleared, htde interrupts are disabled. the bit value is indeterminate after an individual reset. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp core programming model motorola host interface (hi08) 6- 15 6.6.2 host status register (hsr) the hsr is a 16-bit read-only status register by which the reads the hio8 status and flags. the host processor cannot access it directly. the initialization values for the hsr bits are discussed in section 6.6.9 , "dsp-side registers after reset," on page 6-22. 0 hrie 0 host receive interrupt enable generates a host receive data interrupt request if the host receive data full (hrdf) bit in the host status register (hsr, bit 0) is set. the hrdf bit is set when data is transferred to the hrx from the txh, txm, or txl registers. if hrie is cleared, hrdf interrupts are disabled. the bit value is indeterminate after an individual reset. 1514131211109876543210 hf1 hf0 hcp htde hrdf reserved bit; read as 0; should be written with 0 for future compatibility. figure 6-7. host status register (hsr) (x:$ffffc3) table 6-8. host status register (hsr) bit definitions bit number bit name reset value description 15 C 5 0 reserved. set to 0 for future compatibility. 4 C 3 hf[1 C 0] 0 host flags 0, 1 general-purpose flags for host-to-dsp communication. these bits reflect the status of host flags hf[1 C 0] in the icr on the host side. these two general-purpose flags can be used individually or as encoded pairs in a simple host-to-dsp communication protocol, implemented in both the dsp and the host processor software. 20 host command pending reflects the status of the cvr[hc] bit. when set, it indicates that a host command interrupt is pending. hi08 hardware clears hc and hcp when the dsp core services the interrupt request. if the host clears hc, hcp is also cleared. 1htde0 host transmit data empty indicates that the host transmit data register (htx) is empty and can be written by the dsp core. htde is set when the htx register is transferred to the rxh:rxm:rxl registers. the host processor can also set htde using the initialize function. htde is cleared when the dsp core writes to htx. table 6-7. host control register (hcr) bit definitions bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 16 dsp56311 users manual motorola dsp core programming model 6.6.3 host data direction register (hddr) the hddr controls the direction of the data flow for each of the hi08 signals configured as gpio. even when the hi08 functions as the host interface, its unused signals can be configured as gpio signals. for information on the hi08 gpio configuration options, see section 6.2 , "host port signals," on page 6-3. if bit dr xx is set, the corresponding hi08 signal is configured as an output signal. if bit dr xx is cleared, the corresponding hi08 signal is configured as an input signal. hardware and software reset clear the hddr bits. 6.6.4 host data register (hdr) the hdr register holds the data value of the corresponding bits of the hi08 signals configured as gpio signals. the functionality of d xx depends on the corresponding hddr bit (that is, dr xx ). 0 hrdf 0 host receive data full indicates that the host receive data register (hrx) contains data from the host processor. hrdf is set when data is transferred from the txh:txm:txl registers to the hrx register. the host processor can also clear hrdf using the initialize function. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 dr15 dr14 dr13 dr12 dr11 dr10 dr9 dr8 dr7 dr6 dr5 dr4 dr3 dr2 dr1 dr0 figure 6-8. host data direction register (hddr) (x:$ffffc8) table 6-9. hdr and hddr functionality hddr hdr drxx d xx gpio signal 1 non-gpio signal a 0 read-only bitthe value read is the binary value of the signal. the corresponding signal is configured as an input. read-only bitdoes not contain significant data. 1 read/write bit the value written is the value read. the corresponding signal is configured as an output and is driven with the data written to dxx. read/write bit the value written is the value read. 1. defined by the selected configuration. table 6-8. host status register (hsr) bit definitions bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp core programming model motorola host interface (hi08) 6- 17 6.6.5 host base address register (hbar) in multiplexed bus modes, hbar selects the base address where the host-side registers are mapped into the host bus address space. the address from the host bus is compared with the base address as programmed in the base address register. an internal chip select is generated if a match is found. figure 6-10 shows how the chip-select logic uses hbar. 6.6.6 host port control register (hpcr) the hpcr is a read/write control register that controls the hi08 operating mode. hpcr bit initialization values s are discussed in section 6.6.9 , "dsp-side registers after reset," on page 6-22. hardware and software reset clear the hpcr bits. 1514131211109876543210 ba10 ba9 ba8 ba7 ba6 ba5 ba4 ba3 reserved bit, read as 0, should be written with 0 for future compatibility. figure 6-9. host base address register (hbar) (x:$ffffc5) table 6-10. host base address register (hbar) bit definitions bit number bit name reset value description 15 C 8 0 reserved. set to 0 for future compatibility. 7 C 0 ba[10 C 3] $80 base address reflect the base address where the host-side registers are mapped into the bus address space. figure 6-10. self chip-select logic had[0C7] chip select comparator a[3:7] 8 bits has ha[8:10] dsp peripheral data bus latch base address register f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 18 dsp56311 users manual motorola dsp core programming model note: to assure proper operation of the dsp56311, the hpcr bits hap, hrp, hcsp, hdds, hmux, hasp, hdsp, hrod, haen, and hren should be changed only if hen is cleared. similarly, the hpcr bits hap, hrp, hcsp, hdds, hmux, hasp, hdsp, hrod, haen, hren, hcsen, ha9en, and ha8en should not be set when hen is set nor at the time hen is set. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 hap hrp hcsp hdds hmux hasp hdsp hrod hen haen hren hcsen ha9en ha8en hgen reserved bit, read as 0, should be written with 0 for future compatibility. figure 6-11. host port control register (hpcr) (x:$ffffc4) table 6-11. host port control register (hpcr) bit definitions bit number bit name reset value description 15 hap 0 host acknowledge polarity if hap is cleared, the host acknowledge (hack) signal is configured as an active low input. the hi08 drives the contents of the ivr onto the host bus when the hack signal is low. if the hap bit is set, the hack signal is configured as an active high input. the hi08 outputs the contents of the ivr when the hack signal is high. 14 hrp 0 host request polarity controls the polarity of the host request signals. in single host request mode (that is, when hdrq is cleared in the icr), if hrp is cleared and host requests are enabled (that is, if hren is set and hen is set), then the hreq signal is an active low output. if hrp is set and host requests are enabled, the hreq signal is an active high output. in the double host request mode (that is, when hdrq is set in the icr), if hrp is cleared and host requests are enabled (that is, if hren is set and hen is set), then the htrq and hrrq signals are active low outputs. if hrp is set and host requests are enabled, the htrq and hrrq signals are active high outputs. 13 hcsp 0 host chip select polarity if the hcsp bit is cleared, the host chip select (hcs) signal is configured as an active low input and the hi08 is selected when the hcs signal is low. if the hcsp signal is set, hcs is configured as an active high input and the hi08 is selected when the hcs signal is high. 12 hdds 0 host dual data strobe if the hdds bit is cleared, the hi08 operates in single strobe bus mode. in this mode, the bus has a single data strobe signal for both reads and writes. if the hdds bit is set, the hi08 operates in dual strobe bus mode. in this mode, the bus has two separate data strobes: one for data reads, the other for data writes. see figure 6-12 on page 6-21 and figure 6-13 on page 6-21 for more information on dual and single strobe modes. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp core programming model motorola host interface (hi08) 6- 19 11 hmux 0 host multiplexed bus if hmux is set, the hi08 operates in multiplex mode, latching the lower portion of a multiplexed address/data bus. in this mode the internal address line values of the host registers are taken from the internal latch. if hmux is cleared, it indicates that the hi08 is connected to a nonmultiplexed type of bus. the values of the address lines are then taken from the hi08-dedicated address signals. 10 hasp 0 host address strobe polarity if hasp is cleared, the host address strobe (has) signal is an active low input, and the address on the host address/data bus is sampled when the has signal is low. if hasp is set, has is an active-high address strobe input, and the address on the host address or data bus is sampled when the has signal is high. 9 hdsp 0 host data strobe polarity if hdsp is cleared, the data strobe signals are configured as active low inputs, and data is transferred when the data strobe is low. if hdsp is set, the data strobe signals are configured as active high inputs, and data is transferred when the data strobe is high. the data strobe signals are either hds by itself or both hrd and hwr together. 8 hrod 0 host request open drain controls the output drive of the host request signals. in the single host request mode (that is, when hdrq is cleared in icr), if hrod is cleared and host requests are enabled (that is, if hren is set and hen is set in the host port control register (hpcr)), then the hreq signal is always driven by the hi08. if hrod is set and host requests are enabled, the hreq signal is an open drain output. in the double host request mode (that is, when hdrq is set in the icr), if hrod is cleared and host requests are enabled (that is, if hren is set and hen is set in the hpcr), then the htrq and hrrq signals are always driven. if hrod is set and host requests are enabled, the htrq and hrrq signals are open drain outputs. 7 0 reserved. set to 0 for future compatibility. 6hen0 host enable if hen is set, the hi08 operates as the host interface. if hen is cleared, the hi08 is not active, and all the hi08 signals are configured as gpio signals according to the value of the hddr and hdr. 5 haen 0 host acknowledge enable controls the hack signal. in the single host request mode (hdrq is cleared in the icr), if haen and hren are both set, hack/hrrq is configured as the host acknowledge (hack) input. if haen or hren is cleared, hack/hrrq is configured as a gpio signal according to the value of the hddr and hdr. in the double host request mode (hdrq is set in the icr), haen is ignored. table 6-11. host port control register (hpcr) bit definitions bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 20 dsp56311 users manual motorola dsp core programming model 4 hren 0 host request enable controls the host request signals. if hren is set and the hi08 is in the single host request mode (that is, if hdrq is cleared in the host interface control register (icr)), then hreq/htrq is configured as the host request (hreq) output. if hren is cleared, hreq/htrq and hack/hrrq are configured as gpio signals according to the value of the hddr and hdr. if hren is set in the double host request mode (that is, if hdrq is set in the icr), hreq/htrq is configured as the host transmit request (htrq) output and hack/hrrq as the host receive request (hrrq) output. if hren is cleared, hreq/htrq and hack/hrrq are configured as gpio signals according to the value of the hddr and hdr. 3 hcsen 0 host chip select enable if the hcsen bit is set, hcs/ha10 is a host chip select (hcs) in the non-multiplexed bus mode (that is, when hmux is cleared) and host address line 10 (ha10) in the multiplexed bus mode (that is, when hmux is set). if this bit is cleared, hcs/ha10 is configured as a gpio signal according to the value of the hddr and hdr. 2 ha9en 0 host address line 9 enable if ha9en is set and the hi08 is in multiplexed bus mode, then ha9/ha2 is host address line 9 (ha9). if this bit is cleared and the hi08 is in multiplexed bus mode, then ha9/ha2 is configured as a gpio signal according to the value of the hddr and hdr. note: ha9en is ignored when the hi08 is not in the multiplexed bus mode (that is, when hmux is cleared). 1 ha8en 0 host address line 8 enable if ha8en is set and the hi08 is in multiplexed bus mode, then ha8/a1 is host address line 8 (ha8). if this bit is cleared and the hi08 is in multiplexed bus mode, then ha8/ha1 is a gpio signal according to the value of the hddr and hdr. note: ha8en is ignored when the hi08 is not in the multiplexed bus mode (that is, when hmux is cleared). 0hgen0 host gpio port enable enables/disables signals configured as gpio. if this bit is cleared, signals configured as gpio are disconnected: outputs are high impedance, inputs are electrically disconnected. signals configured as hi08 are not affected by the value of hgen. table 6-11. host port control register (hpcr) bit definitions bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
dsp core programming model motorola host interface (hi08) 6- 21 6.6.7 host transmit data register (htx) the htx register performs dsp-to-host data transfers. the dsp56311 views it as a 24-bit write-only register. its address is x:$ffffc7. writing to the htx register clears the host transfer data empty bit (hsr[htde]) on the dsp side. the contents of the htx register are transferred as 24-bit data to the receive byte registers (rxh:rxm:rxl) when both hsr[htde] and receive data full (isr[rxdf]) on the host-side bits are cleared. this transfer operation sets the isr[rxdf] and hsr[htde] bits. the dsp56311 can set the hcr[htie] bit to cause a host transmit data interrupt when hsr[htde] is set. to prevent the previous data from being overwritten, data should not be written to the htx until hsr[htde] is set. note: when data is written to a peripheral device, there is a two-cycle pipeline delay until any status bits affected by this operation are updated. if you read any of the status bits within the next two cycles, the bit does not reflect its current status. for details, see the dsp56300 family manual , appendix b, polling a peripheral device for write. figure 6-12. single-strobe bus figure 6-13. dual-strobe bus hrw hds in a single-strobe bus, a ds (data strobe) signal qualifies the access, while a r/w (read-write) signal specifies the direction of the access. data hwr data hrd in dual-strobe bus, separate hrd and hwr signals specify the access as a read or write access, respectively. read data out read cycle write cycle write data in f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 22 dsp56311 users manual motorola dsp core programming model 6.6.8 host receive data register (hrx) the hrx register performs host-to-dsp data transfers.the dsp56311 views it as a 24-bit read-only register. its address is x:$ffffc6. it is loaded with 24-bit data from the transmit data registers (txh:txm:txl on the host side) when both the transmit data register empty (isr[txde]) on the host side and host receive data full (hsr[hrdf]) on the dsp side are cleared. the transfer operation sets both isr[txde] and hsr[hrdf]. when the hsr[hrdf] is set, the hrx register contains valid data. the dsp56311 can set the hcr[hrie] to cause a host receive data interrupt when hsr[hrdf] is set. when the dsp56311 reads the hrx register, the hsr[hrdf] bit is cleared. 6.6.9 dsp-side registers after reset table 6-12 shows the results of the four reset types on the bits in each of the hi08 registers accessible to the dsp56311. the hardware reset (hw) is caused by the reset signal. the software reset (sw) is caused by execution of the reset instruction. the individual reset (ir) occurs when hpcr[hen] is cleared. the stop reset (st) occurs when the stop instruction executes. table 6-12. dsp-side registers after reset register name register data reset type hw reset sw reset ir reset st reset hcr all bits 0 0 1 hpcr all bits 0 0 hsr hf[1 C 0] 0 0 hcp0000 htde1111 hrdf0000 hbar ba[10 C 3] $80 $80 hddr dr[15 C 0] 0 0 hdr d[15 C 0] hrx hrx [23 C 0] empty empty empty empty htx htx [23 C 0] empty empty empty empty 1. the bit value is indeterminate after reset f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
host programmers model motorola host interface (hi08) 6- 23 6.7 host programmers model the hi08 provides a simple, high-speed interface to a host processor. to the host bus, the hi08 appears to be eight byte-wide registers. separate transmit and receive data paths are double-buffered to allow the dsp core and host processor to transfer data efficiently at high speed. the host can access the hi08 asynchronously using polling techniques or interrupt-based techniques. the hi08 appears to the host processor as a memory-mapped peripheral occupying eight bytes in the host processor address space. (see table 6-13 .) the eight hi08 registers include the following: n a control register (icr), on page 6-24 n a status register (isr), on page 6-28 n three data registers (rxh/txh, rxm/txm, and rxl/txl), on page 6-30 n two vector registers (cvr and ivr), on page 6-27 and page 6-30 to transfer data between itself and the hi08, the host processor bus performs the following steps: 1. asserts the hi08 address and strobes to select the register to be read or written. (chip select in non-multiplexed mode, the address strobe in multiplexed mode.) 2. selects the direction of the data transfer. if it is writing, the host processor sources the data on the bus. otherwise, the hi08 places the data on the bus. 3. strobes the data transfer. host processors can use standard host processor instructions (for example, byte move) and addressing modes to communicate with the hi08 registers. the hi08 registers are aligned so that 8-bit host processors can use 8-, 16-, or 24-bit load and store instructions for data transfers. the hreq/htrq and hack/hrrq handshake flags are provided for polled or interrupt-driven data transfers with the host processor. because of the speed of the dsp56311 interrupt response, most host microprocessors can load or store data at their maximum programmed i/o instruction rate without testing the handshake flags for each transfer. if full handshake is not needed, the host processor can treat the dsp56311 as a fast device, and data can be transferred between the host processor and the dsp56311 at the fastest data rate of the host processor. one of the most innovative features of the host interface is the host command feature. with this feature, the host processor can issue vectored interrupt requests to the dsp56311. the host can select any of 128 dsp interrupt routines for execution by writing a vector address register in the hi08. this flexibility allows the host processor to execute up to 128 pre-programmed functions inside the dsp56311. for example, the dsp56311 host interrupts allow the host processor to read or write dsp registers (x, y, or program f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 24 dsp56311 users manual motorola host programmers model memory locations), force interrupt handlers (for example, ssi, sci, irqa , irqb interrupt routines), and perform control or debugging operations. note: when the dsp enters stop mode, the hi08 signals are electrically disconnected internally, thus disabling the hi08 until the core leaves stop mode. while the hi08 configuration remains unchanged in stop mode, the core cannot be restarted via the hi08 interface. do not issue a stop command to the dsp via the hi08 unless you provide some other mechanism to exit stop mode. 6.7.1 interface control register (icr) the icr is an 8-bit read/write control register by which the host processor controls the hi08 interrupts and flags. the dsp core cannot access the icr. the icr is a read/write register, which allows the use of bit manipulation instructions on control register bits. hardware and software reset clear the icr bits. table 6-13. host-side register map host address big endian hlend = 0 little endian hlend = 1 0 icr icr interface control 1 cvr cvr command vector 2 isr isr interface status 3 ivr ivr interrupt vector 4 00000000 00000000 unused 5 rxh/txh rxl/txl receive/transmit bytes 6 rxm/txm rxm/txm 7 rxl/txl rxh/txh 76543210 init hlend hf1 hf0 hdrq treq rreq reserved bit; read as 0; should be written with 0 for future compatibility. figure 6-14. interface control register (icr) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
host programmers model motorola host interface (hi08) 6- 25 table 6-14. interface control register (icr) bit definitions bit number bit name reset value description 7init0 initialize the host processor uses the init bit to force initialization of the hi08 hardware. during initialization, the hi08 transmit and receive control bits are configured. whether it is necessary to use the init bit to initialize the hi08 hardware depends on the software design of the interface. the type of initialization when the init bit is set depends on the state of treq and rreq in the hi08. the init command, which is local to the hi08, configures the hi08 into the desired data transfer mode. when the host sets the init bit, the hi08 hardware executes the init command. the interface hardware clears the init bit after the command executes. treq preq after init execution transfer direction initialized 0 0 init = 0 none 0 1 init = 0; rxdf = 0; htde = 1 dsp to host 1 0 init = 0; txde = 1; hrdf = 0 host to dsp 1 1 init = 0; rxdf = 0; htde = 1; txde = 1; hrdf = 0 host to/from dsp 6 0 reserved. write to 0 for future compatibility. 5hlend0 host little endian if the hlend bit is cleared, the host can access the hi08 in big-endian byte order. if set, the host can access the hi08 in little-endian byte order. if the hlend bit is cleared the rxh/txh register is located at address $5, the rxm/txm register at $6, and the rxl/txl register at $7. if the hlend bit is set, the rxh/txh register is located at address $7, the rxm/txm register at $6, and the rxl/txl register at $5. 4hf10 host flag 1 a general-purpose flag for host-to-dsp communication. the host processor can set or clear hf1, and the dsp56311cannot change it. hf1 is reflected in the hsr on the dsp side of the hi08. 3hf00 host flag 0 a general-purpose flag for host-to-dsp communication. the host processor can set or clear, and the dsp56311 cannot change it. hf0 is reflected in the hsr on the dsp side of the hi08. 2 hdrq 0 double host request if cleared, the hdrq bit configures hreq/htrq and hack/hrrq as hreq and hack, respectively. if hdrq is set, hreq/htrq is configured as htrq, and hack/hrrq is configured as hrrq. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 26 dsp56311 users manual motorola host programmers model 1treq0 transmit request enable enables host requests via the host request (hreq or htrq) signal when the transmit data register empty (txde) status bit in the isr is set. if treq is cleared, txde interrupts are disabled. if treq and txde are set, the host request signal is asserted. treq and rreq modes (hdrq = 0) treq rreq hreq signal 0 0 no interrupts (polling) 0 1 rxdf request (interrupt) 1 0 txde request (interrupt) 1 1 rxdf and txde request (interrupts) treq and rreq modes (hdrq = 1) treq rreq htrq signal hrrq signal 0 0 no interrupts (polling) no interrupts (polling) 0 1 no interrupts (polling) rxdf request (interrupt) 1 0 txde request (interrupt) no interrupts (polling) 1 1 txde request (interrupt) rxdf request (interrupt) 0 rreq 0 receive request enable controls the hreq signal for host receive data transfers. rreq enables host requests via the host request (hreq or hrrq) signal when the receive data register full (rxdf) status bit in the isr is set. if rreq is cleared, rxdf interrupts are disabled. if rreq and rxdf are set, the host request signal (hreq or hrrq) is asserted. table 6-14. interface control register (icr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
host programmers model motorola host interface (hi08) 6- 27 6.7.2 command vector register (cvr) the host processor uses the cvr to cause the dsp56311 to execute an interrupt. the host command feature is independent of any of the data transfer mechanisms in the hi08. it can cause execution of any of the 128 possible interrupt routines in the dsp core. hardware, software, individual, and stop resets clear the cvr bits. 76543210 hc hv6 hv5 hv4 hv3 hv2 hv1 hv0 figure 6-15. command vector register (cvr) table 6-15. command vector register (cvr) bit definitions bit number bit name reset value description 7hc0 host command the host processor uses the hc bit to handshake the execution of host command interrupts. normally, the host processor sets hc to request a host command interrupt from the dsp56311. when the dsp56311 acknowledges the host command interrupt, hio8 hardware clears the hc bit. the host processor can read the state of hc to determine when the host command has been accepted. after setting hc, the host must not write to the cvr again until the hio8 hardware clears the hc. setting the hc bit causes host command pending (hcp) to be set in the hsr. the host can write to the hc and hv bits in the same write cycle. 6 C 0 hv[6 C 0] 0 host vector select the host command interrupt address for use by the host command interrupt logic. when the dsp interrupt control logic recognizes the host command interrupt, the address of the interrupt routine taken is 2 ? hv. the host can write hc and hv in the same write cycle. the host processor can select any of the 128 possible interrupt routine starting addresses in the dsp by writing the interrupt routine address divided by 2 into the hv bits. this means that the host processor can force any interrupt handler (ssi, sci, irqa, irqb, etc.) and can use any reserved or otherwise unused addresses (if have been pre-programmed in the dsp). hv is set to $32 (vector location $0064) by hardware, software, individual, and stop resets. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 28 dsp56311 users manual motorola host programmers model 6.7.3 interface status register (isr) the host processor uses the isr, an 8-bit read-only status register, to interrogate the hi08 status and flags. the host processor can write to this address without affecting the internal state of the hi08. the dsp core cannot access the isr. 76543210 hreq hf3 hf2 trdy txde rxdf reserved bit; read as 0; should be written with 0 for future compatibility. figure 6-16. interface status registe (isr) table 6-16. interface status register (isr) bit definitions bit number bit name reset value description 7 hreq 0 (hardware and software reset) 1 (individual reset and treq is set) 1 (stop reset and treq is set) host request if hdrq is set, the hreq bit indicates the status of the external transmit and receive request output signals (htrq and hrrq). if hdrq is cleared, hreq indicates the status of the external host request output signal (hreq). the hreq bit is set from either or both of two conditions the receive byte registers are full or the transmit byte registers are empty. these conditions are indicated by status bits: isr rxdf indicates that the receive byte registers are full, and isr txde indicates that the transmit byte registers are empty. if the interrupt source is enabled by the associated request enable bit in the icr, hreq is set if one or more of the two enabled interrupt sources is set. hdrq hreq effect 0 0 hreq is cleared; no host processor interrupts are requested. 0 1 hreq is set; an interrupt is requested. 1 0 htrq and hrrq are cleared, no host processor interrupts are requested. 1 1 htrq or hrrq are set; an interrupt is requested. 6 C 5 0 reserved. set to 0 for future compatibility. 4hf30 host flag 3 indicates the state of hf3 in the hcr on the dsp side. hf3 can be changed only by the dsp56311. hardware and software reset clear hf3. 3hf20 host flag 2 indicates the state of hf2 in the hcr on the dsp side. hf2 can be changed only by the dsp56311. hardware and software reset clear hf2. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
host programmers model motorola host interface (hi08) 6- 29 2 trdy 1 transmitter ready indicates that txh:txm:txl and the hrx registers are empty. if trdy is set, the data that the host processor writes to txh:txm:txl is immediately transferred to the dsp side of the hi08. this feature has many applications. for example, if the host processor issues a host command that causes the dsp56311 to read the hrx, the host processor can be guaranteed that the data it just transferred to the hi08 is that being received by the dsp56311. hardware, software, individual, and stop resets all set trdy. caution trdy = txde and hrdf 1txde1 transmit data register empty indicates that the transmit byte registers (txh:txm:txl) are empty and can be written by the host processor. txde is set when the contents of the transmit byte registers are transferred to the hrx register. txde is cleared when the transmit register (txl or txh according to hlend bit) is written by the host processor. the host processor can set txde using the initialize function. txde can assert the external htrq signal if the treq bit is set. regardless of whether the txde interrupt is enabled, txde indicates whether the tx registers are full and data can be latched in (so that polling techniques may be used by the host processor). hardware, software, individual, and stop resets all set txde. 0rxdf0 receive data register full indicates that the receive byte registers (rxh:rxm:rxl) contain data from the dsp56311 to be read by the host processor. rxdf is set when the htx is transferred to the receive byte registers. rxdf is cleared when the host processor reads the receive data register (rxl or rxh according to hlend bit). the host processor can clear rxdf using the initialize function. rxdf can assert the external hreq signal if the rreq bit is set. regardless of whether the rxdf interrupt is enabled, rxdf indicates whether the rx registers are full and data can be latched out (so that the host processor can use polling techniques). table 6-16. interface status register (isr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 30 dsp56311 users manual motorola host programmers model 6.7.4 interrupt vector register (ivr) the ivr is an 8-bit read/write register that typically contains the interrupt vector number used with mc68000 family processor vectored interrupts. only the host processor can read and write this register. the contents of the ivr are placed on the host data bus, h[7 C 0], when both the hreq and hack signals are asserted. the contents of this register are initialized to $0f by a hardware or software reset. this value corresponds to the uninitialized interrupt vector in the mc68000 family. the hardware and software reset value of the ivr is $0f. 6.7.5 receive byte registers (rxh: rxm: rxl) the host processor views the receive byte registers as three 8-bit read-only registers: the receive high register (rxh), the receive middle register (rxm), and the receive low register (rxl). they receive data from the high, middle, and low bytes, respectively, of the htx register and are selected by the external host address inputs (ha[2 C 0]) during a host processor read operation. the memory address of the receive byte registers are set by icr[hlend]. if icr[hlend] is set, the rxh is located at address $7, rxm at $6, and rxl at $5. if icr[hlend] is cleared, the rxh is located at address $5, rxm at $6, and rxl at $7. when data is transferred from the htx register to the receive byte register at host address $7, the isr receive data register full (rxdf) bit is set. the host processor can program the rreq bit to assert the external hreq signal when isr[rxdf] is set. this indicates that the hi08 has a full word (either 8, 16, or 24 bits) for the host processor. the host processor can program the rreq bit to assert the external hreq signal when isr[rxdf] is set. assertion of the hreq signal informs the host processor that the receive byte registers have data to be read. when the host reads the receive byte register at host address $7, the isr[rxdf] bit is cleared. 6.7.6 transmit byte registers (txh:txm:txl) the host processor views the transmit byte registers as three 8-bit write-only registers. these registers are the transmit high register (txh), the transmit middle register (txm), and the transmit low register (txl). these registers send data to the high, middle, and low bytes, respectively, of the hrx register and are selected by the external host address inputs, ha[2 C 0], during a host processor write operation. 76543210 iv7 iv6 iv5 iv4 iv3 iv2 iv1 iv0 figure 6-17. interrupt vector register (ivr) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
host programmers model motorola host interface (hi08) 6- 31 if icr[hlend] is set, the txh register is located at address $7, the txm register at $6, and the txl register at $5. if the hlend bit in the icr is cleared, the txh register is located at address $5, the txm register at $6, and the txl register at $7. data can be written into the transmit byte registers when the isr transmit data register empty (txde) bit is set. the host processor can program the icr[treq] bit to assert the external hreq/htrq signal when isr[txde] is set. this informs the host processor that the transmit byte registers are empty. writing to the data register at host address $7 clears the isr[txde] bit. the contents of the transmit byte registers are transferred as 24-bit data to the hrx register when both isr[txde] and hsr[hrdf] are cleared. this transfer operation sets hsr[txde] and hsr[hrdf]. note: when data is written to a peripheral device, there is a two-cycle pipeline delay until any status bits affected by this operation are updated. if you read any of those status bits within the next two cycles, the bit will not reflect its current status. for details, see the dsp56300 family manual , appendix b, polling a peripheral device for write. 6.7.7 host-side registers after reset table 6-17 shows the result of the four kinds of reset on bits in each of the hi08 registers seen by the host processor. to cause a hardware reset, assert the reset signal. to cause a software reset, execute the reset instruction. to reset the hen bit individually, clear the hpcr[hen] bit. to cause a stop reset, execute the stop instruction. table 6-17. host-side registers after reset register name register data reset type hw reset sw reset ir reset st reset icr all bits 0 0 cvr hc 0 0 0 0 hv[0 C 6] $32 $32 isr hreq 0 0 1 if treq is set; 0 otherwise 1 if treq is set; 0 otherwise hf3 -hf2 0 0 trdy 1 1 1 1 txde 1 1 1 1 rxdf 0 0 0 0 ivr iv[0 C 7] $0f $0f rx rxh: rxm:rxl empty empty empty empty tx txh: txm:txl empty empty empty empty f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming model quick reference motorola host interface (hi08) 6- 32 6.8 programming model quick reference table 6-18 summarizes the hi08 programming model. table 6-18. hi08 programming model, dsp side reg bit reset type # name value function hw/ sw ir st hcr 0 hrie receive interrupt enable 0 1 hrrq interrupt disabled hrrq interrupt enabled 0 1 htie transmit interrupt enable 0 1 htrq interrupt disabled htrq interrupt enabled 0 2 hcie host command interrupt enable 0 1 hcp interrupt disabled hcp interrupt enabled 0 3 hf2 host flag 2 0 4 hf3 host flag 3 0 hpcr 0 hgen host gpio enable 0 1 gpio signal disconnected gpio signals active 0 1 ha8en host address line 8 enable 0 1 ha8/a1 = gpio ha8/a1 = ha8 0 2 ha9en host address line 9 enable 0 1 ha9/a2 = gpio ha9/a2 = ha9 0 3 hcsen host chip select enable 0 1 hcs/a10 = gpio hcs/a10 = hcs 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming model quick reference motorola host interface (hi08) 6- 33 hpcr 4 hren host request enable 0 1 hdrq = 0 hdrq = 1 hreq/htrq = gpio hreq/htrq hack/hrrq = gpio hreq/htrq = hreq,hreq/htrq hack/hrrq = htrq, hrrq 0 5 haen host acknowledge enable 0 1 hdrq = 0 hdrq=1 hack/hrrq = gpio hreq/htrq hack/hrrq = gpio hack/hrrq = hack hreq/htrq hack/hrrq = htrq, hrrq 0 6 hen host enable 0 1 host port = gpio host port active 0 8 hrod host request open drain 0 1 hreq/htrq/hrrq = driven hreq/htrq/hrrq = open drain 0 9 hdsp host data strobe polarity 0 1 hds/hrd/hwr active low hds/hrd/hwr active high 0 10 hasp host address strobe polarity 0 1 has active low has active high 0 11 hmux host multiplexed bus 0 1 separate address and data lines multiplexed address/data 0 12 hdds host dual data strobe 0 1 single data strobe (hds) double data strobe (hwr, hrd) 0 hpcr 13 hcsp host chip select polarity 0 1 hcs active low hcs active high 0 14 hrp host request polarity 0 1 hreq/htrq/hrrq active low hreq/htrq/hrrq active high 0 15 hap host acknowledge polarity 0 1 hack active low hack active high 0 table 6-18. hi08 programming model, dsp side (continued) reg bit reset type # name value function hw/ sw ir st f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 34 dsp56311 users manual motorola programming model quick reference hsr 0 hrdf host receive data full 0 1 no receive data to be read receive data register is full 00 0 1 htde host transmit data empty 1 0 the transmit data register is empty. the transmit data register is not empty. 11 1 2 hcp host command pending 0 1 no host command pending host command pending 00 0 3 hf0 host flag 0 0 4 hf1 host flag 1 0 hbar 7-0 ba10-b a3 host base address register $80 hrx 23-0 dsp receive data register empty htx 23-0 dsp transmit data register empty hdr 16-0 d16- d0 gpio signal data $0000 hdrr 16-0 dr16-d r0 gpio signal direction [0] [1] input output $0000 table 6-18. hi08 programming model, dsp side (continued) reg bit reset type # name value function hw/ sw ir st f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming model quick reference motorola host interface (hi08) 6- 35 table 6-19. hi08 programming model: host side reg bit reset type # name value function hw/ sw ir s t icr 0 rreq receive request enable 0 1 hrrq interrupt disabled hrrq interrupt enabled 0 1 treq transmit request enable 0 1 htrq interrupt disabled htrq interrupt enabled 0 2 hdrq double host request 0 1 hreq/htrq = hreq, hack/hrrq = hack hreq/htrq = htrq, hack/hrrq = hrrq 0 3 hf0 host flag 0 0 4 hf1 host flag 1 0 5 hlend host little endian 0 1 big endian order little endian order 0 7 init initialize 1 reset data paths according to treq and rreq 0 isr 0 rxdf receive data register full 0 1 host receive register is empty host receive register is full 000 1 txde transmit data register empty 1 0 host transmit register is empty host transmit register is full 111 2 trdy transmitter ready 1 0 transmit fifo (6 deep) is empty transmit fifo is not empty 111 3 hf2 host flag 2 0 4 hf3 host flag 3 0 7 hreq host request 0 1 hreq signal is deasserted hreq signal is asserted (if enabled) 000 cvr 6-0 hv6-hv0 host command vector $32 cvr 7 hc host command 0 1 no host command pending host command pending 000 rxh /m/l 7-0 host receive data register empty txh /m/l 7-0 host transmit data register empty ivr 7-0 iv7-iv0 interrupt register 68000 family vector register $0f f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
6- 36 dsp56311 users manual motorola programming model quick reference f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola enhanced synchronous serial interface (essi) 7- 1 chapter 7 enhanced synchronous serial interface (essi) the essi provides a full-duplex serial port for serial communication with a variety of serial devices, including one or more industry-standard codecs, other dsps, microprocessors, and peripherals. the essi consists of independent transmitter and receiver sections and a common essi clock generator. there are two independent and identical essis in the dsp56311: essi0 and essi1. for simplicity, a single generic essi is described here. the essi block diagram is shown in figure 7-1 . this interface is synchronous because all serial transfers are synchronized to one clock. note: this synchronous interface should not be confused with the asynchronous channels mode of the essi, in which separate clocks are used for the receiver and transmitter. in that mode, the essi is still a synchronous device because all transfers are synchronized to these clocks. pin notations for the generic essi refer to the analogous pin of essi0 (pcx) and essi1 (pdx). additional synchronization signals delineate the word frames. the normal mode of operation transfers data at a periodic rate, one word per period. the network mode is similar in that it is also for periodic transfers; however, it supports up to 32 words (time slots) per period. the network mode can be used to build time division multiplexed (tdm) networks. in contrast, the on-demand mode is for nonperiodic transfers of data. this mode, which offers a subset of the motorola serial peripheral interface (spi) protocol, can transfer data serially at high speed when the data become available. since each essi unit can be configured with one receiver and three transmitters, the two units can be used together for surround sound applications (which need two digital input channels and six digital output channels). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 2 dsp56311 users manual motorola essi enhancements 7.1 essi enhancements the dsp56000 ssi is enhanced in the following ways to make the essi: n network enhancements time slot mask registers (receive and transmit) end-of-frame interrupt drive enable signal (to be used with transmitter 0) figure 7-1. essi block diagram rsma rsmb tsma tsmb ssisr rx rx shift reg tx0 shift reg tsr rclk tx0 crb cra srd std tclk sc2 sck clock/frame sync generators and control logic interrupts tx1 shift reg tx1 sc0 tx2 shift reg tx2 sc1 gdb ddb f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi data and control signals motorola enhanced synchronous serial interface (essi) 7- 3 n audio enhancements three transmitters per essi (for six-channel surround sound) n general enhancements can trigger dma interrupts (receive or transmit) separate exception enable bits n other changes one divide-by-2 removed from the internal clock source chain control register a prescaler range (cra[psr]) bit definition is reversed gated clock mode not available 7.2 essi data and control signals three to six signals are required for essi operation, depending on the operating mode selected. the serial transmit data ( std ) signal and serial control ( sc0 and sc1 ) signals are fully synchronized to the clock if they are programmed as transmit-data signals. 7.2.1 serial transmit data signal (std) the std signal transmits data from the serial transmit shift register. std is an output when data is transmitted from the tx0 shift register. with an internally-generated bit clock, the std signal becomes a high impedance output signal for a full clock period after the last data bit is transmitted if another data word does not follow immediately. if sequential data words are transmitted, the std signal does not assume a high-impedance state. the std signal can be programmed as a gpio signal ( p5 ) when the essi std function is not in use. 7.2.2 serial receive data signal (srd) the srd signal receives serial data and transfers the data to the receive shift register. srd can be programmed as a gpio signal ( p4 ) when the srd function is not in use. 7.2.3 serial clock (sck) the sck signal is a bidirectional signal providing the serial bit rate clock for the essi interface. the sck signal is a clock input or output used by all the enabled transmitters and receivers in synchronous modes or by all the enabled transmitters in asynchronous modes. see table 7-1 for details. sck can be programmed as a gpio signal ( p3 ) when the essi sck function is not in use. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 4 dsp56311 users manual motorola essi data and control signals note: although an external serial clock can be independent of and asynchronous to the dsp system clock, the external essi clock frequency must not exceed f core /3, and each essi phase must exceed the minimum of 1.5 clkout cycles. the internally sourced essi clock frequency must not exceed f core /4. 7.2.4 serial control signal (sc0) essi0: sc00; essi1: sc10 to determine the function of the sc0 signal, select either synchronous or asynchronous mode, according to table 7-2 . in asynchronous mode, this signal is used for the receive clock i/o. in synchronous mode, this signal is the transmitter data out signal for transmit shift register tx1 or for serial flag i/o. a typical application of serial flag i/o would be multiple device selection for addressing in codec systems. if sc0 is configured as a serial flag signal or receive clock signal, its direction is determined by the serial control direction 0 (scd0) bit in essi control register b (crb). when configured as an output, sc0 functions as the serial output flag 0 (of0) or as a receive shift register clock output. if sc0 is used as the serial output flag 0, its value is determined by the value of the serial output flag 0 (of0) bit in the crb. if sc0 is an input, it functions as either serial input flag 0 or a receive shift register clock input. as serial input flag 0, sc0 controls the state of the serial input flag 0 (if0) bit in the essi status register (ssisr). when sc0 is configured as a transmit data signal, it is always an output signal, regardless of the scd0 bit value. sc0 is fully synchronized with the other transmit data signals ( std and sc1 ). sc0 can be programmed as a gpio signal ( p0 ) when the essi sc0 function is not in use. note: the essi can operate with more than one active transmitter only in synchronous mode. table 7-1. essi clock sources syn sckd scd0 rx clock source rx clock out tx clock source tx clock out asynchronous 0 0 0 ext, sc0 ext, sck 0 0 1 int sc0 ext, sck 0 1 0 ext, sc0 int sck 0 1 1 int sc0 int sck synchronous 1 0 0/1 ext, sck ext, sck 1 1 0/1 int sck int sck f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi data and control signals motorola enhanced synchronous serial interface (essi) 7- 5 7.2.5 serial control signal (sc1) essi0:sc01; essi1: sci11 to determine the function of sc1 , select either synchronous or asynchronous mode, according to table 7-2 . in asynchronous mode (as for a single codec with asynchronous transmit and receive), sc1 is the receiver frame sync i/o. in synchronous mode, sc1 is the transmitter data out signal of transmit shift register tx2, for the transmitter 0 drive-enabled signal, or for serial flag i/o. as serial flag i/o, sc1 operates like sc0 . sc0 and sc1are independent flags but can be used together for multiple serial device selection; they can be unencoded to select up to two codecs or decoded externally to select up to four codecs. if sc1 is configured as a serial flag or receive frame sync signal, the serial control direction 1 crb[scd1] bit determines its direction. table 7-2. mode and signal definitions control bits essi signals syn te0 te1 te2 re sc0 sc1 sc2 sck std srd 00xx0u u u u u u 00xx1rxc fsr uuurd 01xx0u u fsttxctd0u 0 1 x x 1 rxc fsr fst txc td0 rd 10000u u u u u u 1 0 0 0 1 f0/u f1/t0d/u fs xc u rd 10010f0/u td2 fsxcu u 10011f0/u td2 fsxcurd 1 0 1 0 0 td1 f1/t0d/u fs xc u u 1 0 1 0 1 td1 f1/t0d/u fs xc u rd 10110td1 td2 fsxcu u 1 0 1 1 1 td1 td2 fs xc u rd 1 1 0 0 0 f0/u f1/t0d/u fs xc td0 u 1 1 0 0 1 f0/u f1/t0d/u fs xc td0 rd 1 1 0 1 0 f0/u td2 fs xc td0 u 1 1 0 1 1 f0/u td2 fs xc td0 rd 1 1 1 0 0 td1 f1/t0d/u fs xc td0 u 1 1 1 0 1 td1 f1/t0d/u fs xc td0 rd 1 1 1 1 0 td1 td2 fs xc td0 u 1 1 1 1 1 td1 td2 fs xc td0 rd txc = transmitter clock rxc = receiver clock xc = transmitter/receiver clock (synchronous operation) fst = transmitter frame sync fsr = receiver frame sync fs = transmitter/receiver frame sync (synchronous operation) td0 = transmit data signal 0 td1 = transmit data signal 1 td2 = transmit data signal 2 t0d = transmitter 0 drive enable if ssc1 = 1 & scd1 = 1 rd = receive data f0 = flag 0 f1 = flag 1 if ssc1 = 0 u = unused (can be used as gpio signal) x = indeterminate f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 6 dsp56311 users manual motorola operation when configured as an output, the sc1 signal functions as a serial output flag, as the transmitter 0 drive-enabled signal, or as the receive frame sync signal output. if sc1 is used as serial output flag 1, its value is determined by the value of the serial output flag 1 (of1) bit in the crb. when configured as an input, this signal can receive frame sync signals from an external source, or it acts as a serial input flag. as a serial input flag, sc1controls status bit if1 in the ssisr. when sc1 is configured as a transmit data signal, it is always an output signal, regardless of the scd1 bit value. as an output, it is fully synchronized with the other essi transmit data signals ( std and sc0 ). sc1 can be programmed as a gpio signal (p1) when the essi sc1 function is not in use. 7.2.6 serial control signal (sc2) essi0:sc02; essi1:sc12 sc2 is a frame sync i/o signal for both the transmitter and receiver in synchronous mode and for the transmitter only in asynchronous mode. the direction of this signal is determined by the scd2 bit in the crb. when configured as an output, this signal outputs the internally generated frame sync signal. when configured as an input, this signal receives an external frame sync signal for the transmitter in asynchronous mode and for both the transmitter and receiver when in synchronous mode. sc2 can be programmed as a gpio signal (p2) when the essi sc2 function is not in use. 7.3 operation this section discusses essi basics: reset state, initialization, and exceptions. 7.3.1 essi after reset a hardware reset signal or software reset instruction clears the port control register and the port direction control register, thus configuring all the essi signals as gpio. the essi is in the reset state while all essi signals are programmed as gpio; it is active only if at least one of the essi i/o signals is programmed as an essi signal. 7.3.2 initialization to initialize the essi, do the following: 1. send a reset: hardware reset signal, software reset instruction, essi individual reset, or stop instruction reset. 2. program the essi control and time slot registers. 3. write data to all the enabled transmitters. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation motorola enhanced synchronous serial interface (essi) 7- 7 4. configure at least one signal as essi signal. 5. if an external frame sync is used, from the moment the essi is activated, at least five (5) serial clocks are needed before the first external frame sync is supplied. otherwise, improper operation may result. when the pc[5 C 0] bits in the gpio port control register (pcr) are cleared during program execution, the essi stops serial activity and enters the individual reset state. all status bits of the interface are set to their reset state. the contents of cra and crb are not affected. the essi individual reset allows a program to reset each interface separately from the other internal peripherals. during essi individual reset, internal dma accesses to the data registers of the essi are not valid, and data read there are undefined. to ensure proper operation of the essi, use an essi individual reset when you change the essi control registers (except for bits teie, reie, tlie, rlie, tie, rie, te2, te1, te0, and re). here is an example of how to initialize the essi. 1. put the essi in its individual reset state by clearing the pcr bits. 2. configure the control registers (cra, crb) to set the operating mode. disable the transmitters and receiver by clearing the te[2 C 0] and re bits. set the interrupt enable bits for the operating mode chosen. 3. enable the essi by setting the pcr bits to activate the input/output signals to be used. 4. write initial data to the transmitters that are in use during operation. this step is needed even if dma services the transmitters. 5. enable the transmitters and receiver to be used. now the essi can be serviced by polling, interrupts, or dma. once the essi is enabled (step 3), operation starts as follows: 1. for internally generated clock and frame sync, these signals start activity immediately after the essi is enabled. 2. the essi receives data after a frame sync signal (either internally or externally generated) only when the receive enable (re) bit is set. 3. data is transmitted after a frame sync signal (either internally or externally generated) only when the transmitter enable (te[2 C 0]) bit is set. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 8 dsp56311 users manual motorola operation 7.3.3 exceptions the essi can generate six different exceptions. they are discussed in the following paragraphs (ordered from the highest to the lowest exception priority): n essi receive data with exception status: occurs when the receive exception interrupt is enabled, the receive data register is full, and a receiver overrun error has occurred. this exception sets the roe bit. the roe bit is cleared when you first read the ssisr and then read the receive data register (rx). n essi receive data: occurs when the receive interrupt is enabled, the receive data register is full, and no receive error conditions exist. a read of rx clears the pending interrupt. this error-free interrupt can use a fast interrupt service routine for minimum overhead. n essi receive last slot interrupt: occurs when the essi is in network mode and the last slot of the frame has ended. this interrupt is generated regardless of the receive mask register setting. the receive last slot interrupt can signal that the receive mask slot register can be reset, the dma channels can be reconfigured, and data memory pointers can be reassigned. using the receive last slot interrupt guarantees that the previous frame is serviced with the previous setting and the new frame is serviced with the new setting without synchronization problems. note: the maximum time it takes to service a receive last slot interrupt should not exceed n C 1 essi bits service time (where n is the number of bits the essi can transmit per time slot). n essi transmit data with exception status: occurs when the transmit exception interrupt is enabled, at least one transmit data register of the enabled transmitters is empty, and a transmitter underrun error has occurred. this exception sets the tue bit. the tue bit is cleared when you first read the ssisr and then write to all the transmit data registers of the enabled transmitters, or when you write to tsr to clear the pending interrupt. n essi transmit last slot interrupt: occurs when the essi is in network mode at the start of the last slot of the frame. this exception occurs regardless of the transmit mask register setting. the transmit last slot interrupt can signal that the transmit mask slot register can be reset, the dma channels can be reconfigured, and data memory pointers can be reassigned. using the transmit last slot interrupt guarantees that the previous frame is serviced with the previous frame settings and the new frame is serviced with the new frame settings without synchronization problems. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation motorola enhanced synchronous serial interface (essi) 7- 9 note: the maximum transmit last slot interrupt service time should not exceed n C 1 essi bits service time (where n is the number of bits in a slot). n essi transmit data: occurs when the transmit interrupt is enabled, at least one of the enabled transmit data registers is empty, and no transmitter error conditions exist. write to all the enabled tx registers or to the tsr to clear this interrupt. this error-free interrupt uses a fast interrupt service routine for minimum overhead (if no more than two transmitters are used). to configure an essi exception, perform the following steps: 1. configure the interrupt service routine (isr): a. load vector base address register vba (b23:8) b. define i_vec to be equal to the vba value (if that is nonzero). if it is defined, i_vec must be defined for the assembler before the interrupt equate file is included. c. load the exception vector table entry: two-word fast interrupt, or jump/branch to subroutine (long interrupt). p:i_si0td 2. configure interrupt trigger; preload transmit data a. enable and prioritize overall peripheral interrupt functionality. iprp (s0l1:0) b. write data to all enabled transmit registers. tx00 c. enable a peripheral interrupt-generating function. crb (te0) d. enable a specific peripheral interrupt. crb0 (tie) e. enable peripheral and associated signals. pcrc (pc[5 C 0]) f. unmask interrupts at the global level. sr (i1 C 0) note: the example material to the right of the steps shows register settings for configuring an essi0 transmit interrupt using transmitter 0. the order of the steps is optional except that the interrupt trigger configuration must not be completed until the isr configuration is complete. since step c may cause an immediate transmit without generating an interrupt, perform the transmit data preload in step b before step c to ensure that valid data is sent in the first transmission. after the first transmit, subsequent transmit values are typically loaded into txnn by the isr (one value per register per interrupt). therefore, if n items are to be sent from a particular txnn, the isr needs to load the transmit register (n C 1) times. steps , c , and d can be performed in step a as a single instruction. if an interrupt trigger event occurs before all interrupt trigger configuration steps are performed, the event is ignored and not queued. if interrupts derived from f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 10 dsp56311 users manual motorola operating modes: normal, network, and on-demand the core or other peripherals need to be enabled at the same time as essi interrupts, step g should be performed last. 7.4 operating modes: normal, network, and on-demand the essi has three basic operating modes and several data and operation formats. these modes are programmed via the essi control registers. the data and operation formats available to the essi are selected when you set or clear control bits in the cra and crb. these control bits are wl[2 C 1], mod, syn, fsl[1 C 0], fsr, fsp, ckp, and shfd. 7.4.1 normal/network/on-demand mode selection to select either normal mode or network mode, clear or set crb[mod]. in normal mode, the essi sends or receives one data word per frame (per enabled receiver or transmitter). in network mode, 2 to 32 time slots per frame can be selected. during each frame, 0 to 32 data words are received or transmitted (from each enabled receiver or transmitter). in either case, the transfers are periodic. the normal mode typically transfers data to or from a single device. network mode is typically used in time division multiplexed networks of codecs or dsps with multiple words per frame. network mode has a submode called on-demand mode. set the crb[mod] for network mode, and set the frame rate divider to 0 (dc = $00000) to select on-demand mode. this submode does not generate a periodic frame sync. a frame sync pulse is generated only when data is available to transmit. the frame sync signal indicates the first time slot in the frame. on-demand mode requires that the transmit frame sync be internal (output) and the receive frame sync be external (input). for simplex operation, synchronous mode could be used; however, for full-duplex operation, asynchronous mode must be used. you can enable data transmission that is data-driven by writing data into each tx. although the essi is double-buffered, only one word can be written to each tx, even if the transmit shift register is empty. the receive and transmit interrupts function normally, using tde and rdf; however, transmit underruns are impossible for on-demand transmission and are disabled. this mode is useful for interfacing with codecs requiring a continuous clock. note: when the essi transmits data in on-demand mode (that is, mod = 1 in the crb and dc[4 C 0]=$00000 in the cra) with wl[2 C 0] = 100, the transmission does not work properly. to ensure correct operation, do not use on-demand mode with the wl[2 C 0] = 100 32-bit word length mode. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes: normal, network, and on-demand motorola enhanced synchronous serial interface (essi) 7- 11 7.4.2 synchronous/asynchronous operating modes the transmit and receive sections of the essi interface are synchronous or asynchronous. the transmitter and receiver use common clock and synchronization signals in synchronous mode; they use separate clock and sync signals in asynchronous mode. the syn bit in crb selects synchronous or asynchronous operation. when the syn bit is cleared, the essi tx and rx clocks and frame sync sources are independent. if the syn bit is set, the essi tx and rx clocks and frame sync are driven by the same source (either external or internal). since the essi operates either synchronously or asynchronously, separate receive and transmit interrupts are provided. transmitter 1 and transmitter 2 operate only in synchronous mode. data clock and frame sync signals are generated internally by the dsp or obtained from external sources. if clocks are internally generated, the essi clock generator derives bit clock and frame sync signals from the dsp internal system clock. the essi clock generator consists of a selectable fixed prescaler with a programmable prescaler for bit rate clock generation and a programmable frame-rate divider with a word-length divider for frame-rate sync-signal generation. 7.4.3 frame sync selection the transmitter and receiver can operate independently. the transmitter can have either a bit-long or word-long frame-sync signal format, and the receiver can have the same or another format. the selection is made by programming the crb fsl[1 C 0], fsr, and fsp bits. 7.4.4 frame sync signal format crb[fsl1] controls the frame sync signal format. n if crb[fsl1] is cleared, the rx frame sync is asserted during the entire data transfer period. this frame sync length is compatible with motorola codecs, serial peripherals that conform to the motorola spi, serial a/d and d/a converters, shift registers, and telecommunication pulse code modulation serial i/o. n if crb[fsl1] is set, the rx frame sync pulses active for one bit clock immediately before the data transfer period. this frame sync length is compatible with intel 1 and national semiconductor corporation components, codecs, and telecommunication pulse code modulation serial i/o. 1. intel is a registered trademark of intel corporation; f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 12 dsp56311 users manual motorola operating modes: normal, network, and on-demand 7.4.5 frame sync length for multiple devices the ability to mix frame sync lengths is useful to configure systems in which data is received from one type of device (for example, codec) and transmitted to a different type of device. crb[fsl0] controls whether rx and tx have the same frame sync length. n if crb[fsl0] is cleared, both rx and tx have the same frame sync length. n if crb[fsl0] is set, rx and tx have different frame sync lengths. crb[fsl0] is ignored when crb[syn] is set. 7.4.6 word length frame sync and data word timing the crb[fsr] bit controls the relative timing of the word length frame sync relative to the data word timing. n when crb[fsr] is cleared, the word length frame sync is generated (or expected) with the first bit of the data word. n when crb[fsr] is set, the word length frame sync is generated (or expected) with the last bit of the previous word. crb[fsr] is ignored when a bit length frame sync is selected. 7.4.7 frame sync polarity the crb[fsp] bit controls the polarity of the frame sync. n when crb[fsp] is cleared, the polarity of the frame sync is positive; that is, the frame sync signal is asserted high. the essi synchronizes on the leading edge of the frame sync signal. n when crb[fsp] is set, the polarity of the frame sync is negative; that is, the frame sync is asserted low. the essi synchronizes on the trailing edge of the frame sync signal. the essi receiver looks for a receive frame sync edge (leading edge if crb[fsp] is cleared, trailing edge if fsp is set) only when the previous frame is completed. if the frame sync is asserted before the frame is completed (or before the last bit of the frame is received in the case of a bit frame sync or a word-length frame sync with crb[fsr] set), the current frame sync is not recognized, and the receiver is internally disabled until the next frame sync. frames do not have to be adjacent; that is, a new frame sync does not have to follow the previous frame immediately. gaps of arbitrary periods can occur between frames. all the enabled transmitters are tri-stated during these gaps. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes: normal, network, and on-demand motorola enhanced synchronous serial interface (essi) 7- 13 7.4.8 byte format (lsb/msb) for the transmitter some devices, such as codecs, require a msb-first data format. other devices, such as those that use the aes C ebu digital audio format, require the lsb first. to be compatible with all formats, the shift registers in the essi are bidirectional. you select either msb or lsb by programming crb[shfd]. n if crb[shfd] is cleared, data is shifted into the receive shift register msb first and shifted out of the transmit shift register msb first. n if crb[shfd] is set, data is shifted into the receive shift register lsb first and shifted out of the transmit shift register lsb first. 7.4.9 flags two essi signals (sc[1 C 0]) are available for use as serial i/o flags. their operation is controlled by the syn, scd[1 C 0], ssc1, and te[2 C 1] bits in the crb/cra.the control bits of[1 C 0] and status bits if[1 C 0] are double-buffered to and from sc[1 C 0]. double-buffering the flags keeps the flags in sync with tx and rx. the sc[1 C 0] flags are available in synchronous mode only. each flag can be separately programmed. the sc0 flag is enabled when transmitter 1 is disabled (te1 = 0). the flags direction is selected by the scd0 bit. when scd0 is set, sc0 is configured as output. when scd0 is cleared, sc0 is configured as input. similarly, the sc1 flag is enabled when transmitter 2 is disabled (te2 = 0), and the sc1 signal is not configured as the transmitter 0 drive-enabled signal (bit ssc1 = 0). the direction of sc1 is determined by the scd1 bit. when scd1 is set, sc1 is an output flag. when scd1 is cleared, sc1 is an input flag. when programmed as input flags, the value of the sc[1 C 0] bits is latched at the same time as the first bit of the received data word is sampled. once the input is latched, the signal on the input flag signal ( sc0 and sc1 ) can change without affecting the input flag. the value of sc[1 C 0] does not change until the first bit of the next data word is received. when the received data word is latched by rx, the latched values of sc[1 C 0] are latched by the ssisr if[1 C 0] bits, respectively, and can be read by software. when they are programmed as output flags, the value of the sc[1 C 0] bits is taken from the value of the of[1 C 0] bits. the value of of[1 C 0] is latched when the contents of tx transfer to the transmit shift register. the value on sc[1 C 0] is stable from the time the first bit of the transmit data word transmits until the first bit of the next transmit data word transmits. software can directly set the of[1 C 0] values, allowing the dsp56311 to control data transmission by indirectly controlling the value of the sc[1 C 0] flags. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 14 dsp56311 users manual motorola essi programming model 7.5 essi programming model the essi is composed of the following registers: n two control registers (cra, crb), page 7-14 and page 7-18 n one status register (ssisr), page 7-29 n one receive shift register, page 7-31 n one receive data register (rx), page 7-31 n three transmit shift registers, page 7-31 n three transmit data registers (tx0, tx1, tx2), page 7-31 n one special-purpose time slot register (tsr), page 7-34 n two transmit slot mask registers (tsma, tsmb), page 7-34 n two receive slot mask registers (rsma, rsmb), page 7-35 this section discusses the essi registers and describes their bits. section 7.6 , "gpio signals and registers," on page 7-36 covers essi gpio. 7.5.1 essi control register a (cra) the essi control register a (cra) is one of two 24-bit read/write control registers that direct the operation of the essi. cra controls the essi clock generator bit and frame sync rates, word length, and number of words per frame for serial data. figure 7-2. essi control register a(cra) 23 22 21 20 19 18 17 16 15 14 13 12 ssc1 wl2 wl1 wl0 alc dc4 dc3 dc2 dc1 dc0 11109876543210 psr pm7 pm6 pm5 pm4 pm3 pm2 pm1 pm0 (essi0 x:$ffffb5, essi1 x:$ffffa5) table 7-3. essi control register a (cra) bit definitions bit number bit name reset value description 23 0 reserved. write to 0 for future compatibility. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 15 22 ssc1 0 select sc1 controls the functionality of the sc1 signal. if ssc1 is set, the essi is configured in synchronous mode (the crb synchronous/asynchronous bit (syn) is set), and transmitter 2 is disabled (transmit enable (te2) = 0), then the sc1 signal acts as the transmitter 0 driver-enabled signal while the sc1 signal is configured as output (scd1 = 1). this configuration enables an external buffer for the transmitter 0 output. if ssc1 is cleared, the essi is configured in synchronous mode (syn = 1), and transmitter 2 is disabled (te2 = 0), then the sc1 acts as the serial i/o flag while the sc1 signal is configured as output (scd1 = 1). 21 C 19 wl[2 C 0] 0 word length control select the length of the data words transferred via the essi. word lengths of 8-, 12-, 16-, 24-, or 32-bits can be selected. the essi data path programming model in figure 7-12 and figure 7-13 shows additional information on how to select different lengths for data words. the essi data registers are 24 bits long. the essi transmits 32-bit words in one of two ways: n by duplicating the last bit 8 times when wl[2 C 0] = 100 n by duplicating the first bit 8 times when wl[2 C 0] = 101. note: when wl[2 C 0] = 100, the essi is designed to duplicate the last bit of the 24-bit transmission eight times to fill the 32-bit shifter. instead, after the 24-bit word is shifted correctly, eight zeros (0s) are shifted. essi word length selection wl2 wl1 wl0 number of bits/word 00 0 8 00 1 12 01 0 16 01 1 24 1 0 0 32 (valid data in the first 24 bits) 10 1 32 (valid data in the last 24 bits) 1 1 0 reserved 1 1 1 reserved note: when the essi transmits data in on-demand mode (that is, mod = 1 in the crb and dc[4 C 0]=00000 in the cra) with wl[2 C 0] = 100, the transmission does not work properly. to ensure correct operation, do not use on-demand mode with the wl[2 C 0] = 100 32-bit word length mode. table 7-3. essi control register a (cra) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 16 dsp56311 users manual motorola essi programming model 18 alc 0 alignment control the essi handles 24-bit fractional data. shorter data words are left-aligned to the msb, bit 23. for applications that use 16-bit fractional data, shorter data words are left-aligned to bit 15. the alc bit supports shorter data words. if alc is set, received words are left-aligned to bit 15 in the receive shift register. transmitted words must be left-aligned to bit 15 in the transmit shift register. if the alc bit is cleared, received words are left-aligned to bit 23 in the receive shift register. transmitted words must be left-aligned to bit 23 in the transmit shift register. note: if the alc bit is set, only 8-, 12-, or 16-bit words are used. the use of 24- or 32-bit words leads to unpredictable results. 17 reserved. set to 0 for future compatibility. 16 C 12 dc[4 C 0] 0 frame rate divider control control the divide ratio for the programmable frame rate dividers that generate the frame clocks. in network mode, this ratio is the number of words per frame minus one. in normal mode, this ratio determines the word transfer rate. the divide ratio ranges from 1 to 32 (dc = 00000 to 11111) for normal mode and 2 to 32 (dc = 00001 to 11111) for network mode. a divide ratio of one (dc = 00000) in network mode is a special case known as on-demand mode. in normal mode, a divide ratio of one (dc = 00000) provides continuous periodic data word transfers. a bit-length frame sync must be used in this case; you select it by setting the fsl[1 C 0] bits in the cra to (01). figure 7-4 shows the essi frame sync generator functional block diagram. 11 psr 0 prescaler range controls a fixed divide-by-eight prescaler in series with the variable prescaler. this bit extends the range of the prescaler when a slower bit clock is needed. when psr is set, the fixed prescaler is bypassed. when psr is cleared, the fixed divide-by-eight prescaler is operational, as in figure 7-3 . this definition is reversed from that of the ssi in other dsp56000 family members. the maximum allowed internally generated bit clock frequency is the internal dsp56311 clock frequency divided by 4; the minimum possible internally generated bit clock frequency is the dsp56311 internal clock frequency divided by 4096. note: the combination psr = 1 and pm[7 C 0] = $00 (dividing f core by 2) can cause synchronization problems and thus should not be used. 10 C 8 0 reserved. set to 0 for future compatibility. table 7-3. essi control register a (cra) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 17 figure 7-3. essi clock generator functional block diagram 7 C 0 pm 0 prescale modulus select specify the divide ratio of the prescale divider in the essi clock generator. a divide ratio from 1 to 256 (pm = $0 to $ff) can be selected. the bit clock output is available at the transmit clock signal (sck) and/or the receive clock (sc0) signal of the dsp. the bit clock output is also available internally for use as the bit clock to shift the transmit and receive shift registers. figure 7-3 shows the essi clock generator functional block diagram. f core is the dsp56311 core clock frequency (the same frequency as the enabled clkout signal). careful choice of the crystal oscillator frequency and the prescaler modulus can generate the industry-standard codec master clock frequencies of 2.048 mhz, 1.544 mhz, and 1.536 mhz. table 7-3. essi control register a (cra) bit definitions (continued) bit number bit name reset value description scn0 sckn crb(scd0) crb(sckd) crb(syn) = scd0 = 0 rclock tclock internal bit clock syn = 1 cra(wl2 C 0) rx shift register tx shift register /1 or /8 /1 to /256 f core rx word clock syn = 0 scd0 = 1 note:1. f core is the dsp56300 core internal clock frequency. 2. essi internal clock range: min = f osc /4096 max = f osc /4 3. n in signal name is essi # (0 or 1) sync: tx 1, or async: rx clk sync: tx/rx clk async: tx clk 0 0 0 255 cra(psr) cra(pm7:0) /8, /12, /16, /24, 1234,5 flag0 out (sync mode) crb(of0) crb(te1) tx 1 flag0 in (sync mode) ssisr(if0) 1 syn = 0 0 /8, /12, /16, /24, 1234,5 /2 cra(wl2 C 0) tx word clock flag0 (opposite from ssi) or f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 18 dsp56311 users manual motorola essi programming model figure 7-4. essi frame sync generator functional block diagram 7.5.2 essi control register b (crb) control register b (crb) is one of two read/write control registers that direct the operation of the essi (see figure 7-5 ). the crb bit definitions are presented in table 7-4 . crb controls the essi multifunction signals, sc[2 C 0], which can be used as clock inputs or outputs, frame synchronization signals, transmit data signals, or serial i/o flag signals. figure 7-5. essi control register b (crb) the crb contains the serial output flag control bits and the direction control bits for the serial control signals. also in the crb are interrupt enable bits for the receiver and the transmitter. bit settings of the crb determines how many transmitters are enabled: 0, 1, 2, 23 22 21 20 19 18 17 16 15 14 13 12 reie teie rlie tlie rie tie re te0 te1 te2 mod syn 11109876543210 ckp fsp fsr fsl1 fsl0 shfd sckd scd2 scd1 scd0 of1 of0 (essi0 x:$ffffb6, essi1 x:$ffffa6) frame sync transmit frame sync receive rx word tx word clock cra(dc4:0) receive control logic transmit control logic sync- type sync type crb(syn) = 0 syn = internal rx frame sync crb(scd1) = 1 syn = 1 scd1 = syn = 0 crb(scd1) internal tx frame sync scn1 /1 to /32 31 0 crb(fsl1) crb(fsl[1 C 0]) cra(dc4 C 0) /1 to /32 31 0 scn2 crb(scd2) flag1 out, (sync mode) crb(of1) crb(te2) tx 2, or drive enb. cra(ssc1) flag1 in ssisr(if1) (sync mode) crb(fsr) sync: tx 2 flag1, async: rx f.s. or drive enb. sync: tx/rx f.s. async: tx f.s. crb(fsr) these signals are identical in sync mode. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 19 or 3. the crb settings also determine the essi operating mode. either a hardware reset signal or a software reset instruction clears all the bits in the crb. table 7-2 , mode and signal definitions, on page 7-5 summarizes the relationship between the essi signals sc[2 C 0], sck , and the crb bits. the essi has two serial output flag bits, of1 and of0. the normal sequence follows for setting output flags when transmitting data (by transmitter 0 through the std signal only). 1. wait for tde (tx0 empty) to be set. 2. write the flags. 3. write the transmit data to the tx register. bits of0 and of1 are double-buffered so that the flag states appear on the signals when the tx data is transferred to the transmit shift register. the flag bit values are synchronized with the data transfer. note: the timing of the optional serial output signals sc[2 C 0] is controlled by the frame timing and is not affected by the settings of te2, te1, te0, or the receive enable (re) bit of the crb. the essi has three transmit enable bits (te[2 C 0]), one for each data transmitter. the process of transmitting data from tx1 and tx2 is the same. tx0 differs from these two bits in that it can also operate in asynchronous mode. the normal transmit enable sequence is to write data to one or more transmit data registers (or the time slot register (tsr)) before you set the te bit. the normal transmit disable sequence is to set the transmit data empty (tde) bit and then to clear the te, transmit interrupt enable (tie), and transmit exception interrupt enable (teie) bits. in network mode, if you clear the appropriate te bit and set it again, then you disable the corresponding transmitter (0, 1, or 2) after transmission of the current data word. the transmitter remains disabled until the beginning of the next frame. during that time period, the corresponding sc (or std in the case of tx0) signal remains in a high-impedance state. the crb bits are cleared by either a hardware reset signal or a software reset instruction. table 7-4. essi control register b (crb) bit definitions bit number bit name reset value description 23 reie 0 receive exception interrupt enable when the reie bit is set, the dsp is interrupted when both rdf and roe in the essi status register are set. when reie is cleared, this interrupt is disabled. the receive interrupt is documented in section 7.3.3 , "exceptions," on page 7-8. a read of the status register followed by a read of the receive data register clears both roe and the pending interrupt. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 20 dsp56311 users manual motorola essi programming model 22 teie 0 transmit exception interrupt enable when the teie bit is set, the dsp is interrupted when both tde and tue in the essi status register are set. when teie is cleared, this interrupt is disabled. the use of the transmit interrupt is documented in section 7.3.3 , "exceptions," on page 7-8. a read of the status register, followed by a write to all the data registers of the enabled transmitters, clears both tue and the pending interrupt. 21 rlie 0 receive last slot interrupt enable enables/disables an interrupt after the last slot of a frame ends when the essi is in network mode. when rlie is set, the dsp is interrupted after the last slot in a frame ends regardless of the receive mask register setting. when rlie is cleared, the receive last slot interrupt is disabled. the use of the receive last slot interrupt is documented in section 7.3.3 , "exceptions," on page 7-8. rlie is disabled when the essi is in on-demand mode (dc = $0). 20 tlie 0 transmit last slot interrupt enable enables/disables an interrupt at the beginning of the last slot of a frame when the essi is in network mode. when tlie is set, the dsp is interrupted at the start of the last slot in a frame regardless of the transmit mask register setting. when tlie is cleared, the transmit last slot interrupt is disabled. the transmit last slot interrupt is documented in section 7.3.3 , "exceptions," on page 7-8. tlie is disabled when the essi is in on-demand mode (dc = $0). 19 rie 0 receive interrupt enable enables/disables a dsp receive data interrupt; the interrupt is generated when both the rie and receive data register full (rdf) bit (in the ssisr) are set. when rie is cleared, this interrupt is disabled. the receive interrupt is documented in section 7.3.3 , "exceptions," on page 7-8. when the receive data register is read, it clears rdf and the pending interrupt. receive interrupts with exception have higher priority than normal receive data interrupts. if the receiver overrun error (roe) bit is set (signaling that an exception has occurred) and the reie bit is set, the essi requests an ssi receive data with exception interrupt from the interrupt controller. 18 tie 0 transmit interrupt enable enables/disables a dsp transmit interrupt; the interrupt is generated when both the tie and the tde bits in the essi status register are set. when tie is cleared, the transmit interrupt is disabled. the transmit interrupt is documented in section 7.3.3 . when data is written to the data registers of the enabled transmitters or to the tsr, it clears tde and also clears the interrupt. transmit interrupts with exception conditions have higher priority than normal transmit data interrupts. if the transmitter underrun error (tue) bit is set (signaling that an exception has occurred) and the teie bit is set, the essi requests an ssi transmit data with exception interrupt from the interrupt controller. table 7-4. essi control register b (crb) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 21 17 re 0 receive enable enables/disables the receive portion of the essi. when re is cleared, the receiver is disabled: data transfer into rx is inhibited. if data is being received while this bit is cleared, the remainder of the word is shifted in and transferred to the essi receive data register. re must be set in both normal and on-demand modes for the essi to receive data. in network mode, clearing re and setting it again disables the receiver after reception of the current data word. the receiver remains disabled until the beginning of the next data frame. note: the setting of the re bit does not affect the generation of a frame sync. 16 te0 0 transmit 0 enable enables the transfer of data from tx1 to transmit shift register 0. te0 is functional when the essi is in either synchronous or asynchronous mode. when te0 is set and a frame sync is detected, the transmitter 0 is enabled for that frame. when te0 is cleared, transmitter 0 is disabled after the transmission of data currently in the essi transmit shift register. the std output is tri-stated, and any data present in tx0 is not transmitted. in other words, data can be written to tx0 with te0 cleared; the tde bit is cleared, but data is not transferred to the transmit shift register 0. the transmit enable sequence in on-demand mode can be the same as in normal mode, or te0 can be left enabled. note: transmitter 0 is the only transmitter that can operate in asynchronous mode (syn = 0). the setting of the te0 bit does not affect the generation of frame sync or output flags. 15 te1 0 transmit 1 enable enables the transfer of data from tx1 to transmit shift register 1. te1 is functional only when the essi is in synchronous mode and is ignored when the essi is in asynchronous mode. when te1 is set and a frame sync is detected, transmitter 1 is enabled for that frame. when te1 is cleared, transmitter 1 is disabled after completing transmission of data currently in the essi transmit shift register. any data present in tx1 is not transmitted. if te1 is cleared, data can be written to tx1; the tde bit is cleared, but data is not transferred to transmit shift register 1. if the te1 bit is kept cleared until the start of the next frame, it causes the sc0 signal to act as serial i/o flag from the start of the frame in both normal and network mode. the transmit enable sequence in on-demand mode can be the same as in normal mode, or the te1 bit can be left enabled. note: the setting of the te1 bit does not affect the generation of frame sync or output flags. table 7-4. essi control register b (crb) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 22 dsp56311 users manual motorola essi programming model 14 te2 0 transmit 2 enable enables the transfer of data from tx2 to transmit shift register 2. te2 is functional only when the essi is in synchronous mode and is ignored when the essi is in asynchronous mode. when te2 is set and a frame sync is detected, transmitter 2 is enabled for that frame. when te2 is cleared, transmitter 2 is disabled after completing transmission of data currently in the essi transmit shift register. any data present in tx2 is not transmitted. if te2 is cleared, data can be written to tx2; the tde bit is cleared, but data is not transferred to transmit shift register 2. if the te2 bit is kept cleared until the start of the next frame, it causes the sc1 signal to act as a serial i/o flag from the start of the frame in both normal mode and network mode. the transmit enable sequence in on-demand mode can be the same as in normal mode, or the te2 bit can be left enabled. note: the setting of the te2 bit does not affect the generation of frame sync or output flags. 13 mod 0 mode select selects the operational mode of the essi, as in figure 7-8 on page 7-27, figure 7-9 on page 7-28, and figure 7-10 on page 7-28. when mod is cleared, the normal mode is selected; when mod is set, the network mode is selected. in normal mode, the frame rate divider determines the word transfer rate: one word is transferred per frame sync during the frame sync time slot. in network mode, a word can be transferred every time slot. for details, see section 7.3 . 12 syn 0 synchronous/asynchronous controls whether the receive and transmit functions of the essi occur synchronously or asynchronously with respect to each other. (see figure 7-7 on page 7-26.) when syn is cleared, the essi is in asynchronous mode, and separate clock and frame sync signals are used for the transmit and receive sections. when syn is set, the essi is in synchronous mode, and the transmit and receive sections use common clock and frame sync signals. only in synchronous mode can more than one transmitter be enabled. 11 ckp 0 clock polarity controls which bit clock edge data and frame sync are clocked out and latched in. if ckp is cleared, the data and the frame sync are clocked out on the rising edge of the transmit bit clock and latched in on the falling edge of the receive bit clock. if ckp is set, the data and the frame sync are clocked out on the falling edge of the transmit bit clock and latched in on the rising edge of the receive bit clock. 10 fsp 0 frame sync polarity determines the polarity of the receive and transmit frame sync signals. when fsp is cleared, the frame sync signal polarity is positive; that is, the frame start is indicated by the frame sync signal going high. when fsp is set, the frame sync signal polarity is negative; that is, the frame start is indicated by the frame sync signal going low. table 7-4. essi control register b (crb) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 23 9fsr0 frame sync relative timing determines the relative timing of the receive and transmit frame sync signal in reference to the serial data lines for word length frame sync only. when fsr is cleared, the word length frame sync occurs together with the first bit of the data word of the first slot. when fsr is set, the word length frame sync occurs one serial clock cycle earlier (that is, simultaneously with the last bit of the previous data word). 7 C 8 fsl[1 C 0] 0 frame sync length selects the length of frame sync to be generated or recognized, as in figure 7-6 on page 7-25, figure 7-9 on page 7-28, and figure 7-10 on page 7-28. fsl1 fsl0 frame sync length rx tx 0 0 word word 01word bit 10 bit bit 1 1 bit word 6shfd0 shift direction determines the shift direction of the transmit or receive shift register. if shfd is set, data is shifted in and out with the lsb first. if shfd is cleared, data is shifted in and out with the msb first, as in figure 7-12 on page 7-32 and figure 7-13 on page 7-33. 5sckd0 clock source direction selects the source of the clock signal that clocks the transmit shift register in asynchronous mode and both the transmit and receive shift registers in synchronous mode. if sckd is set and the essi is in synchronous mode, the internal clock is the source of the clock signal used for all the transmit shift registers and the receive shift register. if sckd is set and the essi is in asynchronous mode, the internal clock source becomes the bit clock for the transmit shift register and word length divider. the internal clock is output on the sck signal. when sckd is cleared, the external clock source is selected. the internal clock generator is disconnected from the sck signal, and an external clock source may drive this signal. 4 scd2 0 serial control direction 2 controls the direction of the sc2 i/o signal. when scd2 is set, sc2 is an output; when scd2 is cleared, sc2 is an input. note: programming the essi to use an internal frame sync (that is, scd2 = 1 in crb) causes the sc2 and sc1 signals to be programmed as outputs. however, if the corresponding multiplexed pins are programmed by the port control register (pcr) to be gpios, the gpio port direction register (prr) chooses their direction. the essi uses an external frame sync if gpio is selected. to assure correct operation, either program the gpio pins as outputs or configure the pins in the pcr as essi signals. the default selection for these signals after reset is gpio. this note applies to both essi0 and essi1. table 7-4. essi control register b (crb) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 24 dsp56311 users manual motorola essi programming model 3 scd1 0 serial control direction 1 in synchronous mode (syn = 1) when transmitter 2 is disabled (te2 = 0), or in asynchronous mode (syn = 0), scd1 controls the direction of the sc1 i/o signal. when scd1 is set, sc1 is an output; when scd1 is cleared, sc1 is an input. when te2 is set, the value of scd1 is ignored and the sc1 signal is always an output. 2 scd0 0 serial control direction 0 in synchronous mode (syn = 1) when transmitter 1 is disabled (te1 = 0), or in asynchronous mode (syn = 0), scd0 controls the direction of the sc0 i/o signal. when scd0 is set, sc0 is an output; when scd0 is cleared, sc0 is an input. when te1 is set, the value of scd0 is ignored and the sc0 signal is always an output. 1 of1 0 serial output flag 1 in synchronous mode (syn = 1), when transmitter 2 is disabled (te2 = 0), the sc1 signal is configured as essi flag 1. when scd1 is set, sc1 is an output. data present in bit of1 is written to sc1 at the beginning of the frame in normal mode or at the beginning of the next time slot in network mode. 0of00 serial output flag 0 in synchronous mode (syn = 1), when transmitter 1 is disabled (te1 = 0), the sc0 signal is configured as essi flag 0. when scd0 is set, the sc0 signal is an output. data present in bit of0 is written to sc0 at the beginning of the frame in normal mode or at the beginning of the next time slot in network mode. table 7-4. essi control register b (crb) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 25 figure 7-6. crb fsl0 and fsl1 bit operation (fsr = 0) serial clock rx, tx frame sync word length: fsl1 = 0, fsl0 = 0 rx, tx serial data note: frame sync occurs while data is valid. data data serial clock rx, tx frame sync one bit length: fsl1 = 1, fsl0 = 0 rx, tx serial data note: frame sync occurs for one bit time preceding the data. serial clock tx frame sync mixed frame length: fsl1 = 0, fsl0 = 1 rx frame sync serial clock tx frame sync mixed frame length: fsl1 = 1, fsl0 = 1 tx serial data rx frame sync data data data data data data data data data data rxserial data tx serial data rx serial data f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 26 dsp56311 users manual motorola essi programming model figure 7-7. crb syn bit operation external frame sync sc1 asynchronous (syn = 0) transmitter clock frame sync receiver clock frame sync sr std sc2 external transmit frame external receive frame internal frame sync sc0 sck external transmit clock external receive clock internal clock essi bit clock note: transmitter and receiver may have different clocks and frame syncs. synchronous (syn = 1) transmitter clock frame sync receiver clock frame sync srd st sc2 internal frame sync sck external clock internal clock essi bit clock note: transmitter and receiver may have the same clock frame syncs. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 27 figure 7-8. crb mod bit operation ssi control register b (crb) (read/write) normal mode (mod = 0) serial clock frame sync serial data data data transmitter interrupt (or dma request) and receiver interrupt (or dma request) and flags note: interrupts occur and data is transferred once per frame sync. network mode (mod = 1) serial clock frame sync transmitter interrupts (or dma request) and slot 1 slot 2 slot 3 slot 1 slot 2 serial data receiver interrupt (or dma request) and flags set note: interrupts occur every time slot and a word may be transferred. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 28 dsp56311 users manual motorola essi programming model figure 7-9. normal mode, external frame sync (8 bit, 1 word in frame) figure 7-10. network mode, external frame sync (8 bit, 2 words in frame) frame sync (fsl0 = 0, fsl1 = 0) frame sync (fsl0 = 0, fsl1 = 1) data out flags slot 0 slot 0 wait slot 0 slot 1 slot 1 slot 0 frame sync (fsl0 = 0, fsl1 = 0) frame sync (fsl0 = 0, fsl1 = 1) flags data f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 29 7.5.3 essi status register (ssisr) the ssisr is a 24-bit read-only status register by which the dsp reads the essi status and serial input flags. figure 7-11. essi status register (ssisr) 23 22 21 20 19 18 17 16 15 14 13 12 11109876543210 rdf tde roe tue rfs tfs if1 if0 (essi0 x:$ffffb7, essi1 x:$ffffa7) table 7-5. essi status register (ssisr) bit definitions bit number bit name reset value description 23 C 8 0 reserved. set to 0 for future compatibility. 7 rdf 0 receive data register full set when the contents of the receive shift register transfer to the receive data register. rdf is cleared when the dsp reads the receive data register. if rie is set, a dsp receive data interrupt request is issued when rdf is set. 6tde0 transmit data register empty set when the contents of the transmit data register of every enabled transmitter are transferred to the transmit shift register. it is also set for a tsr disabled time slot period in network mode (as if data were being transmitted after the tsr has been written). when tde is set, tde data is written to all the tx registers of the enabled transmitters or to the tsr. the tde bit is cleared when the dsp writes to all the transmit data registers of the enabled transmitters, or when the dsp writes to the tsr to disable transmission of the next time slot. if the tie bit is set, a dsp transmit data interrupt request is issued when tde is set. 5roe0 receiver overrun error flag set when the serial receive shift register is filled and ready to transfer to the receive data register (rx) but rx is already full (that is, the rdf bit is set). if the reie bit is set, a dsp receiver overrun error interrupt request is issued when the roe bit is set. the programmer clears roe by reading the ssisr with the roe bit set and then reading the rx. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 30 dsp56311 users manual motorola essi programming model 4tue0 transmitter underrun error flag tue is set when at least one of the enabled serial transmit shift registers is empty (that is, there is no new data to be transmitted) and a transmit time slot occurs. when a transmit underrun error occurs, the previous data (which is still present in the tx registers not written) is retransmitted. in normal mode, there is only one transmit time slot per frame. in network mode, there can be up to 32 transmit time slots per frame. if the teie bit is set, a dsp transmit underrun error interrupt request is issued when the tue bit is set. the programmer can also clear tue by first reading the ssisr with the tue bit set, then writing to all the enabled transmit data registers or to the tsr. 3rfs0 receive frame sync flag when set, the rfs bit indicates that a receive frame sync occurred during the reception of a word in the serial receive data register. in other words, the data word is from the first time slot in the frame. when the rfs bit is cleared and a word is received, it indicates (only in network mode) that the frame sync did not occur during reception of that word. rfs is valid only if the receiver is enabled (that is , if the re bit is set). note: in normal mode, rfs is always read as 1 when data is read because there is only one time slot per frame, the frame sync time slot. 2 tfs 0 transmit frame sync flag when set, tfs indicates that a transmit frame sync occurred in the current time slot. tfs is set at the start of the first time slot in the frame and cleared during all other time slots. if the transmitter is enabled, data written to a transmit data register during the time slot when tfs is set is transmitted (in network mode) during the second time slot in the frame. tfs is useful in network mode to identify the start of a frame. tfs is valid only if at least one transmitter is enabled that is, when te0, te1, or te2 is set). note: in normal mode, tfs is always read as 1 when data is being transmitted because there is only one time slot per frame, the frame sync time slot. 1 if1 0 serial input flag 1 the essi latches any data on the sc1 signal during reception of the first received bit after the frame sync is detected. if1 is updated with this data when the data in the receive shift register transfers into the receive data register. if1 is enabled only when sc1 is an input flag and synchronous mode is selected; that is, when sc1 is programmed as essi in the port control register (pcr), the syn bit is set, and the te2 and scd1 bits are cleared. if it is not enabled, if1 is cleared. 0if00 serial input flag 0 the essi latches any data on the sc0 signal during reception of the first received bit after the frame sync is detected. the if0 bit is updated with this data when the data in the receive shift register transfers into the receive data register. if0 is enabled only when sc0 is an input flag and the synchronous mode is selected; that is, when sc0 is programmed as essi in the port control register (pcr), the syn bit is set, and the te1 and scd0 bits are cleared. if it is not enabled, the if0 bit is cleared. table 7-5. essi status register (ssisr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 31 7.5.4 essi receive shift register the 24-bit receive shift register (see figure 7-12 and figure 7-13 ) receives incoming data from the serial receive data signal. the selected (internal/external) bit clock shifts data in when the associated frame sync i/o is asserted. data is received msb first if shfd is cleared and lsb first if shfd is set. data transfers to the essi receive data register after 8, 12, 16, 24, or 32 serial clock cycles are counted, depending on the word length control bits in the cra. 7.5.5 essi receive data register (rx) the receive data register (rx) is a 24-bit read-only register that accepts data from the receive shift register as it becomes full, according to figure 7-12 and figure 7-13 . the data read is aligned according to the value of the alc bit. when the alc bit is cleared, the msb is bit 23, and the least significant byte is unused. when the alc bit is set, the msb is bit 15, and the most significant byte is unused. unused bits are read as 0. if the associated interrupt is enabled, the dsp is interrupted whenever the rx register becomes full. 7.5.6 essi transmit shift registers the three 24-bit transmit shift registers contain the data being transmitted, as in figure 7-12 and figure 7-13 . data is shifted out to the serial transmit data signals by the selected (whether internal or external) bit clock when the associated frame sync i/o is asserted. the word-length control bits in cra determine the number of bits that must be shifted out before the shift registers are considered empty and can be written again. depending on the setting of the cra, the number of bits to be shifted out can be 8, 12, 16, 24, or 32. transmitted data is aligned according to the value of the alc bit. when alc is cleared, the msb is bit 23 and the least significant byte is unused. when alc is set, the msb is bit 15 and the most significant byte is unused. unused bits are read as 0. data shifts out of these registers msb first if the shfd bit is cleared and lsb first if shfd is set. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 32 dsp56311 users manual motorola essi programming model figure 7-12. essi data path programming model (shfd = 0) srd essi receive data register serial receive shift register 24 bit wl1, wl0 24-bit data 0 0 0 16-bit data 12-bit data 8-bit data lsb lsb lsb lsb msb least significant zero fill notes: data is received msb first if shfd = 0. 24-bit fractional format (alc = 0). 32-bit mode is not shown. 16 bit 12 bit 8 bit (a) receive registers std essi transmit data register essi transmit shift register 24-bit data 0 0 0 16-bit data 12-bit data 8-bit data lsb lsb lsb lsb least significant zero fill (b) transmit registers transmit high byte transmit middle byte transmit low byte transmit high byte transmit middle byte transmit low byte 23 16 15 8 7 0 23 16 15 8 70 707 0 70 7070 7 0 msb msb msb notes: data is transmitted msb first if shfd = 0. 4-bit fractional format (alc = 0). 32-bit mode is not shown. receive high byte receive middle byte receive low byte receive high byte receive middle byte receive low byte 23 16 15 87 0 23 16 15 70 707 7 0 707 0 7 0 msb msb msb msb 0 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 33 figure 7-13. essi data path programming model (shfd = 1) sr essi receive data register (read only) essi receive shift register 24-bit data 0 0 0 16-bit data 12-bit data 8-bit data lsb lsb lsb lsb msb msb msb msb least significant zero fill (a) receive registers st essi transmit data register (write only) essi transmit shift register 24 bit wl1, wl0 24-bit data 0 0 0 16-bit data 12-bit data 8-bit data lsb lsb lsb lsb msb msb msb msb least significant zero fill 16 bit 12 bit 8 bit (b) transmit registers receive high byte receive middle byte receive low byte receive high byte receive middle byte receive low byte 23 16 15 87 0 23 16 15 7 0 707 7 0 70707 0 notes: data is received msb first if shfd = 0. 24-bit fractional format (alc = 0). 32-bit mode is not shown. transmit high byte transmit middle byte transmit low byte transmit high byte transmit middle byte transmit low byte 23 16 15 8 7 0 23 16 15 7 0 707 7 0 70707 0 notes: data is received msb first if shfd = 0. 4-bit fractional format (alc = 0). 32-bit mode is not shown. 0 0 0 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 34 dsp56311 users manual motorola essi programming model 7.5.7 essi transmit data registers (tx[2 C 0]) essi0:tx20, tx10, tx00; essi1:tx21, tx11, tx01 tx2, tx1, and tx0 are 24-bit write-only registers. data written into these registers automatically transfers to the transmit shift registers. (see figure 7-12 and figure 7-13 .) the data transmitted (8, 12, 16, or 24 bits) is aligned according to the value of the alc bit. when the alc bit is cleared, the msb is bit 23. when alc is set, the msb is bit 15. if the transmit data register empty interrupt has been enabled, the dsp is interrupted whenever a transmit data register becomes empty. note: when data is written to a peripheral device, there is a two-cycle pipeline delay while any status bits affected by this operation are updated. if any of those status bits are read during the two-cycle delay, the status bit may not reflect the current status. for details, see the dsp56300 family manual , appendix b , polling a peripheral device for write. 7.5.8 essi time slot register (tsr) tsr is effectively a write-only null data register that prevents data transmission in the current transmit time slot. for timing purposes, tsr is a write-only register that behaves as an alternative transmit data register, except that, rather than transmitting data, the transmit data signals of all the enabled transmitters are in the high-impedance state for the current time slot. 7.5.9 transmit slot mask registers (tsma, tsmb) both transmit slot mask registers are read/write registers. when the tsma or tsmb is read to the internal data bus, the register contents occupy the two low-order bytes of the data bus, and the high-order byte is filled by 0. in network mode the transmitter(s) use these registers to determine which action to take in the current transmission slot. depending on the bit settings, the transmitter(s) either tri-state the transmitter(s) data signal(s) or transmit a data word and generate a transmitter empty condition. 23 22 21 20 19 18 17 16 15 14 13 12 ts15 ts14 ts13 ts12 11109876543210 ts11 ts10 ts9 ts8 ts7 ts6 ts5 ts4 ts3 ts2 ts1 ts0 (essi0 x:$ffffb4, essi1 x:$ffffa4) figure 7-14. essi transmit slot mask register a (tsma) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
essi programming model motorola enhanced synchronous serial interface (essi) 7- 35 tsma and tsmb (as in figure 7-12 and figure 7-13 ) can be seen as a single 32-bit register, tsm. bit n in tsm (tsn) is an enable/disable control bit for transmission in slot number n. when tsn is cleared, all the data signals of the enabled transmitters are tri-stated during transmit time slot number n. the data still transfers from the enabled transmit data register(s) to the transmit shift register. however, the tde and the tue flags are not set. consequently, during a disabled slot, no transmitter empty interrupt is generated. the dsp is interrupted only for enabled slots. data written to the transmit data register when the transmitter empty interrupt request is serviced transmits in the next enabled transmit time slot. when tsn is set, the transmit sequence proceeds normally. data transfers from the tx register to the shift register during slot number n, and the tde flag is set. the tsm slot mask does not conflict with the tsr. even if a slot is enabled in the tsm, you can chose to write to the tsr to tri-state the signals of the enabled transmitters during the next transmission slot. setting the bits in the tsm affects the next frame transmission. the frame being transmitted is not affected by the new tsm setting. if the tsm is read, it shows the current setting. after a hardware reset signal or software reset instruction, the tsm register is reset to $ffffffff, enabling all 32 slots for data transmission. 7.5.10 receive slot mask registers (rsma, rsmb) both receive slot mask registers are read/write registers. in network mode, the receiver(s) use these registers to determine which action to take in the current time slot. depending on the setting of the bits, the receiver(s) either tri-state the receiver(s) data signal(s) or receive a data word and generate a receiver full condition. 23 22 21 20 19 18 17 16 15 14 13 12 ts31 ts30 ts29 ts28 11109876543210 ts27 ts26 ts25 ts24 ts23 ts22 ts21 ts20 ts19 ts18 ts17 ts16 (essi0 x:$ffffb3, essi1 x:$ffffa3) figure 7-15. essi transmit slot mask register b (tsmb) 23 22 21 20 19 18 17 16 15 14 13 12 rs15 rs14 rs13 rs12 11109876543210 rs11 rs10 rs9 rs8 rs7 rs6 rs5 rs4 rs3 rs2 rs1 rs0 (essi0 x:$ffffb2, essi1 x:$ffffa2) figure 7-16. essi receive slot mask register a (rsma) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 36 dsp56311 users manual motorola gpio signals and registers rsma and rsmb (as in figure 7-12 and figure 7-13 ) can be seen as one 32-bit register, rsm. bit n in rsm (rsn) is an enable/disable control bit for time slot number n. when rsn is cleared, all the data signals of the enabled receivers are tri-stated during time slot number n. data transfers from the receive data register(s) to the receive shift register(s), but the rdf and roe flags are not set. consequently, during a disabled slot, no receiver full interrupt is generated. the dsp is interrupted only for enabled slots. when rsn is set, the receive sequence proceeds normally. data is received during slot number n, and the rdf flag is set. when the bits in the rsm are set, their setting affects the next frame transmission. the frame being transmitted is not affected by the new rsm setting. if the rsm is read, it shows the current setting. when rsma or rsmb is read by the internal data bus, the register contents occupy the two low-order bytes of the data bus, and the high-order byte is filled by 0. after a hardware reset signal or a software reset instruction, the rsm register is reset to $ffffffff, enabling all 32 time slots for data transmission. 7.6 gpio signals and registers the gpio functionality of an essi port (whether c or d) is controlled by three registers: port control register (pcrc, pcrd), port direction register (prrc, prrd), and port data register (pdrc, pdrd). 7.6.1 port control register (pcr) the read/write 24-bit pcr controls the functionality of the essi gpio signals. each of the pc[5 C 0] bits controls the functionality of the corresponding port signal. when a pc[i] bit is set, the corresponding port signal is configured as an essi signal. when a pc[i] bit is cleared, the corresponding port signal is configured as a gpio signal. either a hardware reset signal or a software reset instruction clears all pcr bits. 23 22 21 20 19 18 17 16 15 14 13 12 rs31 rs30 rs29 rs28 11109876543210 rs27 rs26 rs25 rs24 rs23 rs22 rs21 rs20 rs19 rs18 rs17 rs16 C reserved. read as zero. write with zero for future compatibility. (essi0 x:$ffffb1, essi1 x:$ffffa1) figure 7-17. essi receive slot mask register b (rsmb) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
gpio signals and registers motorola enhanced synchronous serial interface (essi) 7- 37 figure 7-18. port control register (pcr) (pcrc x:$ffffbf) (pcrd x:$fffaf) 7.6.2 port direction register (prr) the read/write 24-bit prr controls the data direction of the essi gpio signals. when prr[i] is set, the corresponding signal is an output signal. when prr[i] is cleared, the corresponding signal is an input signal. either a hardware reset signal or a software reset instruction clears all prr bits. figure 7-19. port direction register (prr)(prrc x:$ffffbe) (prrd x: $ffffae) the following table shows the port signal configurations. pc[i] pdc[i] port signal[i] function 1 x essi 0 0 gpio input 0 1 gpio output x: the signal setting is irrelevant to the port signal[i] function. pc0 pc1 pc2 pc3 pc4 pc5 reserved. read as zero. write with zero for future compatibility. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 = gpio, 1 = essi prcr: essi0, pcrd: essi1 srdn stdn sckn scn2 scn1 scn0 0 1 2 3 4 5 6 7 pdc0 pdc1 pdc2 pdc3 pdc4 pdc5 reserved. read as zero. write with zero for future compatibility. 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 stdn srdn sckn scn2 scn1 scn0 prrc: essi0, prrd: essi1 0 = input, 1 = output f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
7- 38 dsp56311 users manual motorola gpio signals and registers 7.6.3 port data register (pdr) the read/write 24-bit pdr reads or writes data to and from the essi gpio signals. the pd[5 C 0] bits read or write data from and to the corresponding port signals if they are configured as gpio signals. if a port signal [i] is configured as a gpio input, the corresponding pd[i] bit reflects the value present on this signal. if a port signal [i] is configured as a gpio output, the value written into the corresponding pd[i] bit is reflected on this signal. either a hardware reset signal or a software reset instruction clears all pdr bits. figure 7-20. port data register (pdr) (pdrc x:$ffffbd) (pdrd x: $ffffad) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 pd0 pd1 pd2 pd3 pd4 pd5 reserved. read as zero. write with zero for future compatibility. 16 17 18 19 20 21 22 23 stdn srdn sckn scn2 scn1 scn0 pdrc: essi0, pdrd: essi1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola serial communication interface (sci) 8- 1 chapter 8 serial communication interface (sci) the dsp56311 serial communication interface (sci) provides a full-duplex port for serial communication with other dsps, microprocessors, or peripherals such as modems. the sci interfaces without additional logic to peripherals that use ttl-level signals. with a small amount of additional logic, the sci can connect to peripheral interfaces that have non-ttl level signals, such as rs232c, rs422, and so on. this interface uses three dedicated signals: transmit data, receive data, and sci serial clock. it supports industry-standard asynchronous bit rates and protocols, as well as high-speed synchronous data transmission (up to 8.25 mbps for a 66 mhz clock). sci asynchronous protocols include a multidrop mode for master/slave operation with wake-up on idle line and wake-up on address bit capability. this mode allows the dsp56311 to share a single serial line efficiently with other peripherals. the sci consists of separate transmit and receive sections that can operate asynchronously with respect to each other. a programmable baud rate generator supplies the transmit and receive clocks. an enable vector and an interrupt vector are included so that the baud-rate generator can function as a general-purpose timer when the sci is not using it, or when the interrupt timing is the same as that used by the sci. 8.1 operating modes the operating modes for the dsp56311 sci are as follows: n 8-bit synchronous (shift register mode) n 10-bit asynchronous (1 start, 8 data, 1 stop) n 11-bit asynchronous (1 start, 8 data, 1 even parity, 1 stop) n 11-bit asynchronous (1 start, 8 data, 1 odd parity, 1 stop) n 11-bit multidrop asynchronous (1 start, 8 data, 1 data type, 1 stop) this mode is used for master/slave operation with wake-up on idle line and wakeup on address bit capability. it allows the dsp56311 to share a single serial line efficiently with other peripherals. these modes are selected by the scr wd[0 C 2] bits. synchronous data mode is essentially a high-speed shift register for i/o expansion and stream-mode channel f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 2 dsp56311 users manual motorola operating modes interfaces. a gated transmit and receive clock compatible with the intel 8051 serial interface mode 0 synchronizes data. asynchronous modes are compatible with most uart-type serial devices. standard rs232c communication links are supported by these modes. multidrop asynchronous mode is compatible with the mc68681 duart, the m68hc11 sci interface, and the intel 8051 serial interface. 8.1.1 synchronous mode synchronous mode (wds=0, shift register mode) handles serial-to-parallel and parallel-to-serial conversions. in synchronous mode, the clock is always common to the transmit and receive shift registers. as a controller (synchronous master), the dsp puts out a clock on the sclk pin. to select master mode, choose the internal transmit and receive clocks (set tcm and rcm=0). as a peripheral (synchronous slave), the dsp accepts an input clock from the sclk pin. to select the slave mode, choose the external transmit and receive clocks (tcm and rcm=1). since there is no frame signal, if a clock is missed because of noise or any other reason, the receiver loses synchronization with the data without any error signal being generated. you can detect an error of this type with an error detecting protocol or with external circuitry such as a watchdog timer. the simplest way to recover synchronization is to reset the sci. 8.1.2 asynchronous mode asynchronous data uses a data format with embedded word sync, which allows an unsynchronized data clock to be synchronized with the word if the clock rate and number of bits per word is known. thus, the clock can be generated by the receiver rather than requiring a separate clock signal. the transmitter and receiver both use an internal clock that is 16 ? the data rate to allow the sci to synchronize the data. the data format requires that each data byte have an additional start bit and stop bit. also, two of the word formats have a parity bit. the multidrop mode used when scis are on a common bus has an additional data type bit. the sci can operate in full-duplex or half-duplex modes since the transmitter and receiver are independent. 8.1.3 multidrop mode multidrop is a special case of asynchronous data transfer. the key difference is that a protocol allows networking transmitters and receivers on a single data-transmission line. inter-processor messages in a multidrop network typically begin with a destination address. all receivers check for an address match at the start of each message. receivers with no address match can ignore the remainder of the message and use a wakeup mode to enable the receiver at the start of the next message. receivers with an address match can f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
i/o signals motorola serial communication interface (sci) 8- 3 receive the message and optionally transmit an acknowledgment to the sender. the particular message format and protocol used are determined by the users software. 8.1.3.1 transmitting data and address characters to send data, the 8-bit data character must be written to the stx register. writing the data character to the stx register sets the ninth bit in the frame to zero, which indicates that this frame contains data. to send an 8-bit address, the address data is written to the stxa register, and the ninth bit in the frame is set to one, indicating that this frame contains an address. 8.1.3.2 wired-or mode building a multidrop bus network requires connecting multiple transmitters to a common wire. the wired-or mode allows this to be done without damaging the transmitters when the transmitters are not in use. a protocol is still needed to prevent two transmitters from simultaneously driving the bus. the sci multidrop word format provides an address field to support this protocol. 8.1.3.3 idle line wakeup a wakeup mode frees a dsp from reading messages intended for other processors. the usual operational procedure is for each dsp to suspend sci reception (the dsp can continue processing) until the beginning of a message. each dsp compares the address in the message header with the dsps address. if the addresses do not match, the sci again suspends reception until the next address. if the address matches, the dsp reads and processes the message and then suspends reception until the next address. the idle line wakeup mode wakes up the sci to read a message before the first character arrives. 8.1.3.4 address mode wakeup the purpose and basic operational procedure for address mode wakeup is the same as for idle line wakeup. the difference is that address mode wakeup re-enables the sci when the ninth bit in a character is set to one (if cleared, this bit marks a character as data; if set, an address). as a result, an idle line is not needed, which eliminates the dead time between messages. 8.2 i/o signals each of the three sci signals (rxd, txd, and sclk) can be configured as either a gpio signal or as a specific sci signal. each signal is independent of the others. for example, if only the txd signal is needed, the rxd and sclk signals can be programmed for gpio. however, at least one of the three signals must be selected as an sci signal to release the sci from reset. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 4 dsp56311 users manual motorola sci after reset to enable sci interrupts, program the sci control registers before any of the sci signals are programmed as sci functions. in this case, only one transmit interrupt can be generated because the transmit data register is empty. the timer and timer interrupt operate regardless of how the sci pins are configured, either as sci or gpio. 8.2.1 receive data (rxd) this input signal receives byte-oriented serial data and transfers the data to the sci receive shift register. asynchronous input data is sampled on the positive edge of the receive clock (1 ? sclk ) if the sci clock polarity (sckp) bit is cleared. rxd can be configured as a gpio signal ( pe0 ) when the sci rxd function is not in use. 8.2.2 transmit data (txd) this output signal transmits serial data from the sci transmit shift register. data changes on the negative edge of the asynchronous transmit clock ( sclk ) if sckp is cleared. this output is stable on the positive edge of the transmit clock. txd can be programmed as a gpio signal ( pe1 ) when the sci txd function is not in use. 8.2.3 sci serial clock (sclk) this bidirectional signal provides an input or output clock from which the transmit and/or receive baud rate is derived in asynchronous mode and from which data is transferred in synchronous mode. sclk can be programmed as a gpio signal ( pe2 ) when the sci sclk function is not in use. this signal can be programmed as pe2 when data is being transmitted on txd , since the clock does not need to be transmitted in asynchronous mode. because sclk is independent of sci data i/o, there is no connection between programming the pe2 signal as sclk and data coming out the txd signal. 8.3 sci after reset there are several different ways to reset the sci: n hardware reset signal n software reset instruction: both hardware and software resets clear the port control register bits, which configure all i/o as gpio input. the sci remains in the reset state as long as all sci signals are programmed as gpio ( pc2 , pc1 , and pc0 all are cleared); the sci becomes active only when at least one of the sci i/o signals is not programmed as gpio. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci after reset motorola serial communication interface (sci) 8- 5 n individual reset: during program execution, the pc2, pc1, and pc0 bits can all be cleared (that is, individually reset), causing the sci to stop serial activity and enter the reset state. all sci status bits are set to their reset state. however, the contents of the scr remain unaffected so the dsp program can reset the sci separately from the other internal peripherals. during individual reset, internal dma accesses to the data registers of the sci are not valid, and the data is unknown. n stop processing state reset (that is, the stop instruction) executing the stop instruction halts operation of the sci until the dsp is restarted, causing the sci status register (ssr) to be reset. no other sci registers are affected by the stop instruction. table 8-1 illustrates how each type of reset affects each register in the sci. table 8-1. sci registers after reset register bit mnemonic bit number reset type hw reset sw reset ir reset st reset reie 16 0 0 sckp 15 0 0 stir 14 0 0 tmie 13 0 0 tie 12 0 0 rie 11 0 0 ilie 10 0 0 te 9 0 0 scr re 8 0 0 woms 7 0 0 rwu 6 0 0 wake 5 0 0 sbk 4 0 0 ssftd 3 0 0 wds[2 C 0] 2C0 0 0 ssr r8 fe pe or idle rdrf tdre trne 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 tcm 15 0 0 rcm 14 0 0 sccr scp 13 0 0 cod 12 0 0 cd[11 C 0] 11C0 0 0 srx srx [23 C 0] 23C16, 15C8, 7C0 stx stx[23 C 0] 23C0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 6 dsp56311 users manual motorola sci initialization 8.4 sci initialization the sci is initialized as follows: 1. ensure that the sci is in its individual reset state (pcre = $0). use a hardware reset signal or software reset instruction. 2. program the sci control registers. 3. configure at least one sci signal as and sci signal. if interrupts are to be used, the signals must be selected, and global interrupts must be enabled and unmasked before the sci can operate. the order does not matter; any one of these three requirements for interrupts can enable the sci, but the interrupts should be unmasked last (that is, i[1 C 0] bits in the status register (sr) should be changed last). synchronous applications usually require exact frequencies, so the crystal frequency must be chosen carefully. an alternative to selecting the system clock to accommodate the sci requirements is to provide an external clock to the sci. when the sci is configured in synchronous mode, internal clock, and all the sci pins are simultaneously enabled, an extra pulse of one dsp clock length is provided on the sclk pin. there are two workarounds for this issue: n enable an sci pin other than sclk . n in the next instruction, enable the remaining sci pins, including the sclk pin. following is an example of one way to initialize the sci: 1. ensure that the sci is in its individual reset state (pcre = $0). 2. configure the control registers (scr, sccr) according to the operating mode, but do not enable transmitter (te = 0) or receiver (re = 0). it is now possible to set the interrupts enable bits that are used during the operation. no interrupt occurs yet. srsh srs[8 C 0] 8C0 stsh sts[8 C 0] 8C0 C srsh sci receive shift register, stsh sci transmit shift register hw hardware reset is caused by asserting the external reset signal. sw software reset is caused by executing the reset instruction. ir individual reset is caused by clearing pcre (bits 0C2) (configured for gpio). st stop reset is caused by executing the stop instruction. 1 the bit is set during this reset. 0 the bit is cleared during this reset. the bit is not changed during this reset. table 8-1. sci registers after reset (continued) register bit mnemonic bit number reset type hw reset sw reset ir reset st reset f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci initialization motorola serial communication interface (sci) 8- 7 3. enable the sci by setting the pcre bits according to which signals are used during operation. 4. if transmit interrupt is not used, write data to the transmitter. if transmitter interrupt enable is set, an interrupt is issued and the interrupt handler should write data into the transmitter. the dma channel services the sci transmit request if it is programmed to service the sci transmitter. 5. enable transmitters (te = 1) and receiver (re = 1) according to use. operation starts as follows: n for an internally-generated clock, the sclk signal starts operation immediately after the sci is enabled (step 3 above) for asynchronous modes. in synchronous mode, the sclk signal is active only while transmitting (that is, a gated clock). n data is received only when the receiver is enabled (re = 1) and after the occurrence of the sci receive sequence on the rxd signal, as defined by the operating mode (that is, idle line sequence). n data is transmitted only after the transmitter is enabled (te = 1), and after the initialization sequence has been transmitted (depending on the operating mode). 8.4.1 preamble, break, and data transmission priority two or three transmission commands can be set simultaneously: n a preamble (te is set.) n a break (sbk is set or is cleared.) n an indication that there is data for transmission (tdre is cleared.) after the current character transmission, if two or more of these commands are set, the transmitter executes them in the following order: preamble, break, data. 8.4.2 bootstrap loading through the sci (operating mode 6) when the dsp comes out of reset, it checks the modd, modc, modb, and moda pins and sets the corresponding mode bits in the operating mode register (omr). if the mode bits are set to 1010, respectively, the dsp loads the program ram from the sci. appendix a, bootstrap program shows the complete bootstrap code. this program (1) configures the sci, (2) loads the program size, (3) loads the location where the program begins loading in program memory, and (4) loads the program. first, the sci control register is set to $0302, which enables the transmitter and receiver and configures the sci for 10 bits asynchronous with one start bit, 8 data bits, one stop bit, and no parity. next, the sci clock control register is set to $c000, which configures the f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 8 dsp56311 users manual motorola exceptions sci to use external receive and transmit clocks on the sclk pin. this clock must be 16 times the serial data rate. the next step is to receive the program size and then the starting address to load the program. these two numbers are three bytes each loaded least significant byte first. each byte is echoed back as it is received. after both numbers are loaded, the program size is in a0 and the starting address is in a1. the program is then loaded one byte at a time, least significant byte first. after the program is loaded, the operating mode is set to zero, the ccr is cleared, and the dsp begins execution with the first instruction loaded 8.5 exceptions the sci can cause five different exceptions in the dsp, discussed here from the highest to the lowest priority: 1. sci receive data with exception status occurs when the receive data register is full with a receiver error (parity, framing, or overrun error). to clear the pending interrupt, read the sci status register; then read srx. use a long interrupt service routine to handle the error condition. this interrupt is enabled by scr[16] (reie). 2. sci receive data occurs when the receive data register is full. read srx to clear the pending interrupt. this error-free interrupt can use a fast interrupt service routine for minimum overhead. this interrupt is enabled by scr[11] (rie). 3. sci transmit data occurs when the transmit data register is empty. write stx to clear the pending interrupt. this error-free interrupt can use a fast interrupt service routine for minimum overhead. this interrupt is enabled by scr[12] (tie). 4. sci idle line occurs when the receive line enters the idle state (10 or 11 bits of ones). this interrupt is latched and then automatically reset when the interrupt is accepted. this interrupt is enabled by scr[10] (ilie). 5. sci timer occurs when the baud rate counter reaches zero. this interrupt is automatically reset when the interrupt is accepted. this interrupt is enabled by scr[13] (tmie). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 9 8.6 sci programming model the sci programming model can be viewed as three types of registers: n control sci control register (scr) in figure 8-3 sci clock control register (sccr) in figure 8-5 n status sci status register (ssr) in figure 8-4 n data transfer sci receive data registers (srx) in figure 8-8 sci transmit data registers (stx) in figure 8-8 sci transmit data address register (stxa) in figure 8-8 the sci includes the gpio functions described in section 8.7 , "gpio signals and registers," on page 8-25. the next subsections describe the registers and their bits. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 10 dsp56311 users manual motorola sci programming model figure 8-1. sci data word formats (ssftd = 1), 1 mode 0 8-bit synchronous data (shift register mode) tx (ssftd = 1) one byte from shift register mode 2 10-bit asynchronous (1 start, 8 data, 1 stop) tx (ssftd = 1) start stop bit mode 4 11-bit asynchronous (1 start, 8 data, 1 even parity, 1 stop) tx (ssftd = 1) start stop bit even parity mode 5 11-bit asynchronous (1 start, 8 data, 1 odd parity, 1 stop) tx (ssftd = 1) start d0 or data type stop bit odd parity mode 6 11-bit asynchronous multidrop (1 start, 8 data, 1 data type, 1 stop) tx (ssftd = 1) start stop bit data type d7 d6 d5 d4 d3 d2 d1 d0 wds2 wds1 wds0 000 note: 1.modes 1, 3, and 7 are reserved. 2. d0 = lsb; d7 = msb 3. data is transmitted and received lsb first if ssftd = 0, or msb first if ssftd = 1 0 = data byte data type: 1 = address byte d0 or data type d7 d6 d5 d4 d3 d2 d1 d7 d6 d5 d4 d3 d2 d1 d0 or data type d7 d6 d5 d4 d3 d2 d1 d7 d6 d5 d4 d3 d2 d1 d0 wds2 wds1 wds0 010 wds2 wds1 wds0 100 wds2 wds1 wds0 101 wds2 wds1 wds0 110 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 11 figure 8-2. sci data word formats (ssftd = 0), 2 mode 0 8-bit synchronous data (shift register mode) tx (ssftd = 0) one byte from shift register mode 2 10-bit asynchronous (1 start, 8 data, 1 stop) tx (ssftd = 0) d7 or data type stop bit mode 4 11-bit asynchronous (1 start, 8 data, 1 even parity, 1 stop) tx (ssftd = 0) d7 or data type stop bit even parity mode 5 11-bit asynchronous (1 start, 8 data, 1 odd parity, 1 stop) tx (ssftd = 0) start bit d7 or data type stop bit odd parity mode 6 11-bit asynchronous multidrop (1 start, 8 data, 1 data type, 1 stop) tx (ssftd = 0) start bit stop bit data type note: 1.modes 1, 3, and 7 are reserved. 2. d0 = lsb; d7 = msb. 3. data is transmitted and received lsb first if ssftd = 0, or msb first if ssftd = 1. d0 d1 d2 d3 d4 d5 d6 d7 010 d0 d1 d2 d3 d4 d5 d6 wds2 wds1 wds0 000 100 d0 d1 d2 d3 d4 d5 d6 d0 d1 d2 d3 d4 d5 d6 start bit wds2 wds1 wds0 start bit wds2 wds1 wds0 101 wds2 wds1 wds0 d0 d1 d2 d3 d4 d5 d6 d7 110 wds2 wds1 wds0 0 = data byte data type: 1 = address byte f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 12 dsp56311 users manual motorola sci programming model 8.6.1 sci control register (scr) the scr is a read/write register that controls the serial interface operation. seventeen of its 24 bits are defined. . 23 22 21 20 19 18 17 16 reie 15 14 13 12 11 10 9 8 sckp stir tmie tie rie ilie te re 76543210 woms rwu wake sbk ssftd wds2 wds1 wds0 figure 8-3. sci control register (scr) table 8-2. sci control register (scr) bit definitions bit number bit name reset value description 23 C 17 0 reserved. set to 0 for future compatibility. 16 reie 0 receive with exception interrupt enable enables/disables the sci receive data with exception interrupt. if reie is cleared, the receive data with exception interrupt is disabled. if both reie and rdrf are set, and pe, fe, and or are not all cleared, the sci requests an sci receive data with exception interrupt from the interrupt controller. either a hardware reset signal or a software reset instruction clears reie. 15 sckp 0 sci clock polarity controls the clock polarity sourced or received on the clock signal (sclk), eliminating the need for an external inverter. when sckp is cleared, the clock polarity is positive; when sckp is set, the clock polarity is negative. in synchronous mode, positive polarity means that the clock is normally positive and transitions negative during valid data. negative polarity means that the clock is normally negative and transitions positive during valid data. in asynchronous mode, positive polarity means that the rising edge of the clock occurs in the center of the period that data is valid. negative polarity means that the falling edge of the clock occurs during the center of the period that data is valid. either a hardware reset signal or a software reset instruction clears sckp. 14 stir 0 timer interrupt rate controls a divide-by-32 in the sci timer interrupt generator. when stir is cleared, the divide-by-32 is inserted in the chain. when stir is set, the divide-by-32 is bypassed, thereby increasing timer resolution by a factor of 32. either a hardware reset signal or a software reset instruction clears this bit. to ensure proper operation of the timer, stir must not be changed during timer operation (that is, if tmie = 1). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 13 13 tmie 0 timer interrupt enable enables/disables the sci timer interrupt. if tmie is set, timer interrupt requests are sent to the interrupt controller at the rate set by the sci clock register. the timer interrupt is automatically cleared by the timer interrupt acknowledge from the interrupt controller. this feature allows dsp programmers to use the sci baud rate generator as a simple periodic interrupt generator if the sci is not in use, if external clocks are used for the sci, or if periodic interrupts are needed at the sci baud rate. the sci internal clock is divided by 16 (to match the 1 ? sci baud rate) for timer interrupt generation. this timer does not require that any sci signals be configured for sci use to operate. either a hardware reset signal or a software reset instruction clears tmie. 12 tie 0 sci transmit interrupt enable enables/disables the sci transmit data interrupt. if tie is cleared, transmit data interrupts are disabled, and the transmit data register empty (tdre) bit in the sci status register must be polled to determine whether the transmit data register is empty. if both tie and tdre are set, the sci requests an sci transmit data interrupt from the interrupt controller. either a hardware reset signal or a software reset instruction clears tie. 11 rie 0 sci receive interrupt enable enables/disables the sci receive data interrupt. if rie is cleared, the receive data interrupt is disabled, and the rdrf bit in the sci status register must be polled to determine whether the receive data register is full. if both rie and rdrf are set, the sci requests an sci receive data interrupt from the interrupt controller. receive interrupts with exception have higher priority than normal receive data interrupts. therefore, if an exception occurs (that is, if pe, fe, or or are set) and reie is set, the sci requests an sci receive data with exception interrupt from the interrupt controller. either a hardware reset signal or a software reset instruction clears rie. 10 ilie 0 idle line interrupt enable when ilie is set, the sci interrupt occurs when idle (sci status register bit 3) is set. when ilie is cleared, the idle interrupt is disabled. either a hardware reset signal or a software reset instruction clears ilie. an internal flag, the shift register idle interrupt (sriint) flag, is the interrupt request to the interrupt controller. sriint is not directly accessible to the user. when a valid start bit is received, an idle interrupt is generated if both idle and ilie are set. the idle interrupt acknowledge from the interrupt controller clears this interrupt request. the idle interrupt is not asserted again until at least one character has been received. the results are as follows: n the idle bit shows the real status of the receive line at all times. n an idle interrupt is generated once for each idle state, no matter how long the idle state lasts. table 8-2. sci control register (scr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 14 dsp56311 users manual motorola sci programming model 9te0 transmitter enable when te is set, the transmitter is enabled. when te is cleared, the transmitter completes transmission of data in the sci transmit data shift register, and then the serial output is forced high (that is, idle). data present in the sci transmit data register (stx) is not transmitted. stx can be written and tdre cleared, but the data is not transferred into the shift register. te does not inhibit tdre or transmit interrupts. either a hardware reset signal or a software reset instruction clears te. setting te causes the transmitter to send a preamble of 10 or 11 consecutive ones (depending on wds), giving you a convenient way to ensure that the line goes idle before a new message starts. to force this separation of messages by the minimum idle line time, we recommend the following sequence: 1. write the last byte of the first message to stx. 2. wait for tdre to go high, indicating the last byte has been transferred to the transmit shift register. 3. clear te and set te to queue an idle line preamble to follow immediately the transmission of the last character of the message (including the stop bit). 4. write the first byte of the second message to stx. in this sequence, if the first byte of the second message is not transferred to stx prior to the finish of the preamble transmission, the transmit data line remains idle until stx is finally written. 8re0 receiver enable when re is set, the receiver is enabled. when re is cleared, the receiver is disabled, and data transfer from the receive shift register to the receive data register (srx) is inhibited. if re is cleared while a character is being received, the reception of the character completes before the receiver is disabled. re does not inhibit rdrf or receive interrupts. either a hardware reset signal or a software reset instruction clears re. 7woms0 wired-or mode select when woms is set, the sci txd driver is programmed to function as an open-drain output and can be wired together with other txd signals in an appropriate bus configuration, such as a master-slave multidrop configuration. an external pullup resistor is required on the bus. when woms is cleared, the txd signal uses an active internal pullup. either a hardware reset signal or a software reset instruction clears woms. table 8-2. sci control register (scr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 15 6rwu0 receiver wakeup enable when rwu is set and the sci is in asynchronous mode, the wakeup function is enabled; i. e., the sci is asleep and can be awakened by the event defined by the wake bit. in sleep state, all interrupts and all receive flags except idle are disabled. when the receiver wakes up, rwu is cleared by the wakeup hardware. you can also clear the rwu bit to wake up the receiver. you can use rwu to ignore messages that are for other devices on a multidrop serial network. wakeup on idle line (i. e., wake is cleared) or wakeup on address bit (i. e., wake is set) must be chosen. when wake is cleared and rwu is set, the receiver does not respond to data on the data line until an idle line is detected. when wake is set and rwu is set, the receiver does not respond to data on the data line until a data frame with bit 9 set is detected. when the receiver wakes up, the rwu bit is cleared, and the first frame of data is received. if interrupts are enabled, the cpu is interrupted and the interrupt routine reads the message header to determine whether the message is intended for this dsp. if the message is for this dsp, the message is received, and rwu is set to wait for the next message. if the message is not for this dsp, the dsp immediately sets rwu. setting rwu causes the dsp to ignore the remainder of the message and wait for the next message. either a hardware reset signal or a software reset instruction clears rwu. rwu is ignored in synchronous mode. 5 wake 0 wakeup mode select when wake is cleared, the wakeup on idle line mode is selected. in the wakeup on idle line mode, the sci receiver is re-enabled by an idle string of at least 10 or 11 (depending on wds mode) consecutive ones. the transmitters software must provide this idle string between consecutive messages. the idle string cannot occur within a valid message because each word frame there contains a start bit that is 0. when wake is set, the wakeup on address bit mode is selected. in the wakeup on address bit mode, the sci receiver is re-enabled when the last (eighth or ninth) data bit received in a character (frame) is 1. the ninth data bit is the address bit (r8) in the 11-bit multidrop mode; the eighth data bit is the address bit in the 10-bit asynchronous and 11-bit asynchronous with parity modes. thus, the received character is an address that has to be processed by all sleeping processorsthat is, each processor has to compare the received character with its own address and decide whether to receive or ignore all following characters. table 8-2. sci control register (scr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 16 dsp56311 users manual motorola sci programming model 4 sbk 0 send break a break is an all-zero word framea start bit 0, characters of all zeros (including any parity), and a stop bit 0 (that is, ten or eleven zeros, depending on the mode selected). if sbk is set and then cleared, the transmitter finishes transmitting the current frame, sends 10 or 11 0s, and reverts to idle or sending data. if sbk remains set, the transmitter continually sends whole frames of 0s (10 or 11 bits with no stop bit). at the end of the break code, the transmitter sends at least one high (set) bit before transmitting any data to guarantee recognition of a valid start bit. break can signal an unusual condition, message, and so on, by forcing a frame error; the frame error is caused by a missing stop bit. 3 ssftd 0 sci shift direction determines the order in which the sci data shift registers shift data in or out: msb first when set, lsb first when cleared. the parity and data type bits do not change their position in the frame, and they remain adjacent to the stop bit. 2 C 0 wds[2 C 0] 0 word select select the format of transmitted and received data. asynchronous modes are compatible with most uart-type serial devices, and they support standard rs232c communication links. multidrop asynchronous mode is compatible with the mc68681 duart, the m68hc11 sci interface, and the intel 8051 serial interface. synchronous data mode is essentially a high-speed shift register for i/o expansion and stream-mode channel interfaces. you can synchronize data by using a gated transmit and receive clock compatible with the intel 8051 serial interface mode 0. when odd parity is selected, the transmitter counts the number of ones in the data word. if the total is not an odd number, the parity bit is set, thus producing an odd number. if the receiver counts an even number of ones, an error in transmission has occurred. when even parity is selected, an even number must result from the calculation performed at both ends of the line, or an error in transmission has occurred. wds2 wds1 wds0 mode word formats 0 0 0 0 8-bit synchronous data (shift register mode) 0011reserved 0 1 0 2 10-bit asynchronous (1 start, 8 data, 1 stop) 1113reserved 1 0 0 4 11-bit asynchronous (1 start, 8 data, 1 even parity, 1 stop) 1 0 1 5 11-bit asynchronous (1 start, 8 data, 1 odd parity, 1 stop) 1 1 0 6 11-bit multidrop asynchronous (1 start, 8 data, 1 data type, 1 stop) 0117reserved table 8-2. sci control register (scr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 17 8.6.2 sci status register (ssr) the ssr is a 24-bit read-only register that indicates the status of the sci. figure 8-4. sci status register 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 76543210 r8 fe pe or idle rdrf tdre trne table 8-3. sci status register (ssr) bit definitions bit number bit name reset value description 23 C 8 0 reserved. set to 0 for future compatibility. 7r80 received bit 8 in 11-bit asynchronous multidrop mode, the r8 bit indicates whether the received byte is an address or data. r8 is set for addresses and is cleared for data. r8 is not affected by reads of the srx or sci status register. a hardware reset signal, a software reset instruction, an sci individual reset, or a stop instruction clears r8. 6fe0 framing error flag in asynchronous mode, fe is set when no stop bit is detected in the data string received. fe and rdre are set simultaneously when the received word is transferred to the srx. however, the fe flag inhibits further transfer of data into the srx until it is cleared. fe is cleared when the sci status register is read followed by a read of the srx. a hardware reset signal, a software reset instruction, an sci individual reset, or a stop instruction clears fe. in 8-bit synchronous mode, fe is always cleared. if the byte received causes both framing and overrun errors, the sci receiver recognizes only the overrun error. 5pe0 parity error in 11-bit asynchronous modes, pe is set when an incorrect parity bit is detected in the received character. pe and rdrf are set simultaneously when the received word is transferred to the srx. if pe is set, further data transfer into the srx is not inhibited. pe is cleared when the sci status register is read, followed by a read of srx. a hardware reset signal, a software reset instruction, an sci individual reset, or a stop instruction also clears pe. in 10-bit asynchronous mode, 11-bit multidrop mode, and 8-bit synchronous mode, the pe bit is always cleared since there is no parity bit in these modes. if the byte received causes both parity and overrun errors, the sci receiver recognizes only the overrun error. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 18 dsp56311 users manual motorola sci programming model 4or0 overrun error flag set when a byte is ready to be transferred from the receive shift register to the receive data register (srx) that is already full (rdrf = 1). the receive shift register data is not transferred to the srx. the or flag indicates that character(s) in the received data stream may have been lost. the only valid data is located in the srx. or is cleared when the sci status register is read, followed by a read of srx. the or bit clears the fe and pe bits; that is, overrun error has higher priority than fe or pe. a hardware reset signal, a software reset instruction, an sci individual reset, or a stop instruction clears or. 3idle0 idle line flag set when 10 (or 11) consecutive ones are received. idle is cleared by a start-bit detection. the idle status bit represents the status of the receive line. the transition of idle from 0 to 1 can cause an idle interrupt (ilie). 2 rdrf 0 receive data register full set when a valid character is transferred to the sci receive data register from the sci receive shift register (regardless of the error bits condition). rdrf is cleared when the sci receive data register is read. 1 tdre 1 transmit data register empty set when the sci transmit data register is empty. when tdre is set, new data can be written to one of the sci transmit data registers (stx) or the transmit data address register (stxa). tdre is cleared when the sci transmit data register is written. either a hardware reset signal, a software reset instruction, an sci individual reset, or a stop instruction sets tdre. in synchronous mode, when the internal sci clock is in use, there is a delay of up to 5.5 serial clock cycles between the time that stx is written until tdre is set, indicating the data has been transferred from the stx to the transmit shift register. there is a delay of 2 to 4 serial clock cycles between writing stx and loading the transmit shift register; in addition, tdre is set in the middle of transmitting the second bit. when using an external serial transmit clock, if the clock stops, the sci transmitter stops. tdre is not set until the middle of the second bit transmitted after the external clock starts. gating the external clock off after the first bit has been transmitted delays tdre indefinitely. in asynchronous mode, the tdre flag is not set immediately after a word is transferred from the stx or stxa to the transmit shift register nor when the word first begins to be shifted out. tdre is set 2 cycles (of the 16 ? clock) after the start bit; that is, 2 (16 ? clock) cycles into the transmission time of the first data bit. table 8-3. sci status register (ssr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 19 8.6.3 sci clock control register (sccr) the sccr is a 24-bit read/write register that controls the selection of clock modes and baud rates for the transmit and receive sections of the sci interface. the sccr is cleared by a hardware reset signal. the basic features of the clock generator, as shown in figure 8-6 and figure 8-7 , follow: n the sci logic always uses a 16 ? internal clock in asynchronous mode and always uses a 2 ? internal clock in synchronous mode. the maximum internal clock available to the sci peripheral block is the oscillator frequency divided by 4. these maximum rates are the same for internally or externally supplied clocks. n the 16 ? clock is necessary for asynchronous modes to synchronize the sci to the incoming data (as shown in figure 8-6 ). n for asynchronous modes, you must provide a 16 ? clock if you want to use an external baud rate generator (that is, sclk input). 0 trne 1 transmitter empty this flag bit is set when both the transmit shift register and transmit data register (stx) are empty, indicating that there is no data in the transmitter. when trne is set, data written to one of the three stx locations or to the transmit data address register (stxa) is transferred to the transmit shift register and is the first data transmitted. trne is cleared when a write into stx or stxa clears tdre or when an idle, preamble, or break is transmitted. when set, trne indicates that the transmitter is empty; therefore, the data written to stx or stxa is transmitted next. that is, there is no word in the transmit shift register being transmitted. this procedure is useful when initiating the transfer of a message (that is, a string of characters). 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 tcm rcm scp cod cd11 cd10 cd9 cd8 7 6 543210 cd7 cd6 cd5 cd4 cd3 cd2 cd1 cd0 reserved. read as 0. write with 0 for future compatibility. figure 8-5. sci clock control register (sccr) table 8-3. sci status register (ssr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 20 dsp56311 users manual motorola sci programming model n for asynchronous modes, you can select either 1 ? or 16 ? for the output clock when using internal tx and rx clocks (tcm = 0 and rcm = 0). n when sckp is cleared, the transmitted data on the txd signal changes on the negative edge of the 1 ? serial clock and is stable on the positive edge. when sckp is set, the data changes on the positive edge and is stable on the negative edge. n the received data on the rxd signal is sampled on the positive edge (if sckp = 0) or on the negative edge (if sckp = 1) of the 1 ? serial clock. n for asynchronous mode, the output clock is continuous. n for synchronous mode, a 1 ? clock is used for the output or input baud rate. the maximum 1 ? clock is the crystal frequency divided by 8. n for synchronous mode, the clock is gated. n for synchronous mode, the transmitter and receiver are synchronous with each other. figure 8-6. 16 x serial clock the sci clock determines the data transmission rate and can also establish a periodic interrupt that can act as an event timer or be used in any other timing function. bits cd11C cd0, scp, and scr[stir] work together to determine the time base. if scr[tmie] = 1 when the periodic time-out occurs, the sci timer interrupt is recognized and pending. the sci timer interrupt is automatically cleared when the interrupt is serviced. this interrupt occurs every time the periodic timer times out. rx, tx data (ssftd = 0) idle line start select 8-or 9-bit words x1 clock x16 clock (sckp = 0) 1 0 2345678 stop start f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 21 table 8-4. sci clock control register (sccr) bit definitions bit number bit name reset value description 23 C 16 0 reserved. set to 0 for future compatibility. 15 tcm 0 transmit clock source selects whether an internal or external clock is used for the transmitter. if tcm is cleared, the internal clock is used. if tcm is set, the external clock (from the sclk signal) is used. 14 rcm 0 receive clock mode source selects whether an internal or external clock is used for the receiver. if rcm is cleared, the internal clock is used. if rcm is set, the external clock (from the sclk signal) is used. tcm rcm tx clock rx clock sclk signal mode 0 0 internal internal output synchronous/asynchronous 0 1 internal external input asynchronous only 1 0 external internal input asynchronous only 1 1 external external input synchronous/asynchronous 13 scp 0 clock prescaler selects a divide by 1 (scp is cleared) or divide by 8 (scp is set) prescaler for the clock divider. the output of the prescaler is further divided by 2 to form the sci clock. 12 cod 0 clock out divider the clock output divider is controlled by cod and the sci mode. if the sci mode is synchronous, the output divider is fixed at divide by 2. if the sci mode is asynchronous, either: n if cod is cleared and sclk is an output (that is, tcm and rcm are both cleared), then the sci clock is divided by 16 before being output to the sclk signal. thus, the sclk output is a 1 ? clock. n if cod is set and sclk is an output, the sci clock is fed directly out to the sclk signal. thus, the sclk output is a 16 ? baud clock. 11 C 0 cd[11 C 0] 0 clock divider specifies the divide ratio of the prescale divider in the sci clock generator. a divide ratio from 1 to 4096 (cd[11 C 0] = $000 to $fff) can be selected. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 22 dsp56311 users manual motorola sci programming model figure 8-7. sci baud rate generator 8.6.4 sci data registers the sci data registers are divided into two groups: receive and transmit, as shown in figure 8-8 . there are two receive registers: a receive data register (srx) and a serial-to-parallel receive shift register. there are also two transmit registers: a transmit data register (called either stx or stxa) and a parallel-to-serial transmit shift register. scp f core divide by 2 12-bit counter prescaler: divide by 1 or 8 cd[11 C 0] internal clock sci core logic uses divide by 16 for asynchronous uses divide by 2 for synchronous cod sckp if asynchronous divide by 1 or 16 if synchronous divide by 2 to sclk divide by 2 divide by 16 timer interrupt (stmint) fcore bps = 64 x (7(scp) + 1) x cd + 1) where: scp = 0 or 1 cd = $000 to $fff stir sckp = 0 + sckp = 1 - f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
sci programming model motorola serial communication interface (sci) 8- 23 8.6.4.1 sci receive register (srx) data bits received on the rxd signal are shifted into the sci receive shift register. when a complete word is received, the data portion of the word is transferred to the byte-wide srx. this process converts serial data to parallel data and provides double buffering. double buffering promotes flexibility and increased throughput since the programmer can save (and process) the previous word while the current word is being received. the srx can be read at three locations as srxl, srxm, and srxh. when srxl is read, the contents of the srx are placed in the lower byte of the data bus and the remaining bits on the data bus are read as zeros. similarly, when srxm is read, the contents of srx are placed into the middle byte of the bus, and when srxh is read, the contents of srx are placed into the high byte with the remaining bits are read as 0s. this way of mapping srx efficiently packs three bytes into one 24-bit word by oring three data bytes read from the three addresses. figure 8-8. sci programming model - data registers srx srx srx rxd sci receive data shift register note: srx is the same register decoded at three different addresses. stx stx stx txd sci transmit data shift register note: bytes are masked on the fly. 1. stx is the same register decoded at four different addresses. stxa (a) receive data register (b) transmit data register sci receive data register high (read only) sci receive data register middle (read only) sci receive data register low (read only) 0 7 8 15 16 23 0 7 8 15 16 23 0 7 8 15 16 23 sci transmit data register high (write only) sci transmit data register middle (write only) sci transmit data register low (write only) sci transmit data address register (write only) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 24 dsp56311 users manual motorola sci programming model the scr wds0, wds1, and wds2 control bits define the length and format of the serial word. the scr receive clock mode (rcm) defines the clock source. in synchronous mode, the start bit, the eight data bits, the address/data indicator bit or the parity bit, and the stop bit are received, respectively. data bits are sent lsb first if ssftd is cleared, and msb first if ssftd is set. in synchronous mode, a gated clock provides synchronization. in either synchronous or asynchronous mode, when a complete word is clocked in, the contents of the shift register can be transferred to the srx and the flags; rdrf, fe, pe, and or are changed appropriately. because the operation of the receive shift register is transparent to the dsp, the contents of this register are not directly accessible to the programmer. 8.6.4.2 sci transmit register (stx) the transmit data register is a one-byte-wide register mapped into four addresses as stxl, stxm, stxh, and stxa. in asynchronous mode, when data is to be transmitted, stxl, stxm, and stxh are used. when stxl is written, the low byte on the data bus is transferred to the stx. when stxm is written, the middle byte is transferred to the stx. when stxh is written, the high byte is transferred to the stx. this structure makes it easy for the programmer to unpack the bytes in a 24-bit word for transmission. tdxa should be written in 11-bit asynchronous multidrop mode when the data is an address and the programmer wants to set the ninth bit (the address bit). when stxa is written, the data from the low byte on the data bus is stored in it. the address data bit is cleared in 11-bit asynchronous multidrop mode when any of stxl, stxm, or stxh is written. when either stx (stxl, stxm, or stxh) or stxa is written, tdre is cleared. the transfer from either stx or stxa to the transmit shift register occurs automatically, but not immediately, after the last bit from the previous word is shifted out; that is, the transmit shift register is empty. like the receiver, the transmitter is double-buffered. however, a delay of two to four serial clock cycles occurs between when the data is transferred from either stx or stxa to the transmit shift register and when the first bit appears on the txd signal. (a serial clock cycle is the time required to transmit one data bit.) the transmit shift register is not directly addressable, and there is no dedicated flag for this register. because of this fact and the two- to four-cycle delay, two bytes cannot be written consecutively to stx or stxa without polling, because the second byte might overwrite the first byte. thus, you should always poll the tdre flag prior to writing stx or stxa to prevent overruns unless transmit interrupts are enabled. either stx or stxa is usually written as part of the interrupt service routine. an interrupt is generated only if tdre is set. the transmit shift register is indirectly visible via the ssr[trne] bit. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
gpio signals and registers motorola serial communication interface (sci) 8- 25 in synchronous mode, data is synchronized with the transmit clock. that clock can have either an internal or external source, as defined by the tcm bit in the sccr. the length and format of the serial word is defined by the wds0, wds1, and wds2 control bits in the scr. in asynchronous mode, the start bit, the eight data bits (with the lsb first if ssftd = 0 and the msb first if ssftd = 1), the address/data indicator bit or parity bit, and the stop bit are transmitted in that order. the data to be transmitted can be written to any one of the three stx addresses. if sckp is set and sshtd is set, sci synchronous mode is equivalent to the ssi operation in 8-bit data on-demand mode. note: when data is written to a peripheral device, there is a two-cycle pipeline delay until any status bits affected by this operation are updated. if you read any of those status bits within the next two cycles, the bit does not reflect its current status. for details see the dsp56300 family manual . 8.7 gpio signals and registers three registers control the gpio functionality of port sci: port e control register (pcre), port e direction register (prre) and port e data register (pdre). 8.7.1 port e control register (pcre) the read/write pcre controls the functionality of sci gpio signals. each of pc[2 C 0] bits controls the functionality of the corresponding port signal. when a pc[i] bit is set, the corresponding port signal is configured as an sci signal. when a pc[i] bit is cleared, the corresponding port signal is configured as a gpio signal. a hardware reset signal or a software reset instruction clears all pcr bits. figure 8-9. port e control register (pcre) pc0 pc1 pc2 reserved. read as 0. write with 0 for future compatibility. port control bits: 1 = sci 0 = gpio 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 26 dsp56311 users manual motorola gpio signals and registers 8.7.2 port e direction register (prre) the read/write prre controls the direction of sci gpio signals. when port signal[i] is configured as gpio, pdc[i] controls the port signal direction. when pdc[i] is set, the gpio port signal[i] is configured as output. when pdc[i] is cleared, the gpio port signal[i] is configured as input. a hardware reset signal or a software reset instruction clears all prr bits. figure 8-10. port e direction register (prre) table 8-5 shows the port signal configurations. . 8.7.3 port e data register (pdre) the read/write pdre reads or writes data to or from sci gpio signals. bits pd[2 C 0] read or write data to or from the corresponding port signals if they are configured as gpio. if a port signal [i] is configured as a gpio input, then the corresponding pd[i] bit reflects the value of this signal. if a port signal [i] is configured as a gpio output, then the value of the corresponding pd[i] bit is reflected on this signal. a hardware reset signal or a software reset instruction clears all pdre bits. table 8-5. port control register and port direction register bits pc[i] pdc[i] port signal[i] function 11 or 0 sci 0 0 gpio input 0 1 gpio output 0 1 2 3 4 5 6 7 pdc0 pdc1 pdc2 direction control bits: 1 = output 0 = input 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 reserved. read as 0. write with 0 for future compatibility f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
gpio signals and registers motorola serial communication interface (sci) 8- 27 figure 8-11. port e data register (pdre) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 pd0 pd1 pd2 16 17 18 19 20 21 22 23 reserved. read as 0. write with 0 for future compatibility f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
8- 28 dsp56311 users manual motorola gpio signals and registers f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola triple timer module 9- 1 chapter 9 triple timer module the timers in the dsp56311 internal triple timer module act as timed pulse generators or as pulse-width modulators. each timer has a single signal that can function as a gpio signal or as a timer signal. each timer can also function as an event counter to capture an event or to measure the width or period of a signal. 9.1 overview the timer module contains a common 21-bit prescalar and three independent and identical general-purpose 24-bit timer/event counters, each with its own register set. each timer has the following capabilities: n uses internal or external clocking n interrupts the dsp56311 after a specified number of events (clocks) or signals an external device after counting internal events n triggers dma transfers after a specified number of events (clocks) occurs n connects to the external world through one bidirectional signal, designated tio[0C 2] for timers 0C2. when the tio signal is configured as input, the timer functions as an external event counter or measures external pulse width/signal period. when the tio signal is configured as an output, the timer functions as a timer, a watchdog timer, or a pulse-width modulator. when the timer is not using the tio signal, tio can be used as a gpio signal (also called tio[0 C 2]) . figure 9-1 shows a block diagram of the triple timer module. notice the 24-bit timer prescalar load register (tplr) and the 24-bit timer prescalar count register (tpcr). each of the three timers can use the prescalar clock as its clock source. the timer block diagram in figure 9-2 shows the structure of a timer module. the dsp56311 treats each timer as a memory-mapped peripheral with four registers occupying four 24-bit words in the x data memory space. the three timers are identical in structure and function. either standard polled or interrupt programming techniques can be used to service the timers. a single, generic timer is discussed in this chapter. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 2 dsp56311 users manual motorola operation the timer includes a 24-bit counter, a 24-bit read/write timer control and status register (tcsr), a 24-bit read-only timer count register (tcr), a 24-bit write-only timer load register (tlr), a 24-bit read/write timer compare register (tcpr), and logic for clock selection and interrupt/dma trigger generation. the timer mode is controlled by the tc[3 C 0] bits of the timer control/status register (tcsr). for a listing of the timer modes and descriptions of their operations, see section 9.3 , "operating modes," on page 9-4. 9.2 operation this section discusses timer basics: reset state, initialization, and exceptions. 9.2.1 timer after reset a hardware reset signal or software reset instruction clears the timer control register, thus configuring the timer as gpio. a timer is active only if tcsr[te] is set. figure 9-1. triple timer module block diagram timer prescalar count register gdb 24 24 tplr 24 timer 0 timer 2 timer 1 24-bit counter clk/2 tio0 tio1 tio2 tpcr timer prescalar load register 24 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation motorola triple timer module 9- 3 9.2.2 timer initialization to initialize a timer, do the following: 1. ensure that the timer is not active either by sending a reset or clearing the tcsr[te] bit. 2. configure the control register (tcsr) to set the timer operating mode. set the interrupt enable bits as needed for the application. 3. configure other registers: prescalar load register (tplr), load register (tlr), and compare register (tcpr) as needed for the application. 4. enable the timer by setting the tcsr[te] bit. 9.2.3 timer exceptions each timer can generate two different exceptions: n timer overflow (highest priority) occurs when the timer counter reaches the overflow value. this exception sets the tof bit. tof is cleared when a value of one is written to it or when the timer overflow exception is serviced. n timer compare (lowest priority) occurs when the timer counter reaches the value given in the timer compare register (tcpr) for all modes except figure 9-2. timer module block diagram gdb control/status register tcsr counter timer interrupt/dma request timer control clk/2 tio compare register tcpr = 24 24 logic load register count register tlr prescalar clk tcr 24 24 9 2 24 24 24 24 24 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 4 dsp56311 users manual motorola operating modes measurement modes. in measurement modes, 4 C 6, a compare exception occurs when the appropriate transition occurs on the tio signal. the compare exception sets the tcf bit. tcf is cleared when a value of one is written to it or when the timer compare interrupt is serviced. to configure a timer exception, perform the following steps. the example at the right of each step shows the register settings for configuring a timer 0 compare interrupt. the order of the steps is optional except that the timer should not be enabled (step 2e) until all other exception configuration is complete: 1. configure the interrupt service routine (isr): a. load vector base address register vba (b23 C 8) b. define i_vec to be equal to the vba value (if that is nonzero). if it is defined, i_vec must be defined for the assembler before the interrupt equate file is included. c. load the exception vector table entry: two-word fast interrupt, or jump/branch to subroutine (long interrupt). p:tim0c 2. configure the interrupt trigger: a. enable and prioritize overall peripheral interrupt functionality. iprp (tol[1 C 0]) b. enable a specific peripheral interrupt. tcsr0 (tcie) c. unmask interrupts at the global level. sr (i[1 C 0]) d. configure a peripheral interrupt-generating function. tcsr0 (tc[7 C 4]) e. enable peripheral and associated signals. tcsr0 (te) 9.3 operating modes each timer has operating modes that meet a variety of system requirements, as follows: n timer gpio, mode 0: internal timer interrupt generated by the internal clock pulse, mode 1: external timer pulse generated by the internal clock toggle, mode 2: output timing signal toggled by the internal clock event counter, mode 3: internal timer interrupt generated by an external clock f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 5 n measurement input width, mode 4: input pulse width measurement input pulse, mode 5: input signal period measurement capture, mode 6: capture external signal n pwm, mode 7: pulse width modulation n watchdog pulse, mode 9: output pulse, internal clock toggle, mode 10: output toggle, internal clock note: to ensure proper operation, the tcsr tc[3 C 0] bits should be changed only when the timer is disabled (that is, when tcsr[te] is cleared). 9.3.1 triple timer modes for all triple timer modes, the following points are true: n the tcsr[te] bit is set to clear the counter and enable the timer. clearing tcsr[te] disables the timer. n the value to which the timer is to count is loaded into the tcpr. (this is true for all modes except the measurement modes (modes 4 through 6). n the counter is loaded with the tlr value on the first clock. n if the counter overflows, tcsr[tof] is set, and if tcsr[toie] is set, an overflow interrupt is generated. n you can read the counter contents at any time from the timer count register (tcr). 9.3.1.1 timer gpio (mode 0) in mode 0, the timer generates an internal interrupt when a counter value is reached, if the timer compare interrupt is enabled (see figure 9-3 and figure 9-4 ). when the counter equals the tcpr value, tcsr[tcf] is set and a compare interrupt is generated if the tcsr[tcie] bit is set. if the tcsr[trm] bit is set, the counter is reloaded with the tlr value at the next timer clock and the count is resumed. if tcsr[trm] is cleared, the counter continues to increment on each timer clock signal. this process repeats until the timer is disabled. bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0 0 0 0 0 gpio timer gpio internal f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 6 dsp56311 users manual motorola operating modes figure 9-3. timer mode (trm = 1) figure 9-4. timer mode (trm = 0) mode 0 (internal clock, no timer output): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event last event m 0 n n + 1 m n n + 1 n mode 0 (internal clock, no timer output): trm = 0 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event last event m 0n n + 1 m 0 1 n m + 1 tof (overflow interrupt if tcie = 1) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 7 9.3.1.2 timer pulse (mode 1) in mode 1, the timer generates an external pulse on its tio signal when the timer count reaches a pre-set value. the tio signal is loaded with the value of the tcsr[inv] bit. when the counter matches the tcpr value, tcsr[tcf] is set and a compare interrupt is generated if the tcsr[tcie] bit is set. the polarity of the tio signal is inverted for one timer clock period. if tcsr[trm] is set, the counter is loaded with the tlr value on the next timer clock and the count is resumed. if tcsr[trm] is cleared, the counter continues to increment on each timer clock. this process repeats until tcsr[te] is cleared (disabling the timer). the tlr value in the tcpr sets the delay between starting the timer and generating the output pulse. to generate successive output pulses with a delay of x clock cycles between signals, set the tlr value to x/2 and set the tcsr[trm] bit. this process repeats until the timer is disabled. figure 9-5. pulse mode (trm = 1) bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0 0 0 1 1 timer pulse timer output internal mode 1 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n n + 1 m n n + 1 n pulse width = timer clock period tio pin (inv = 0) tio pin (inv = 1) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 8 dsp56311 users manual motorola operating modes figure 9-6. pulse mode (trm = 0) 9.3.1.3 timer toggle (mode 2) in mode 2, the timer periodically toggles the polarity of the tio signal. when the timer is enabled, the tio signal is loaded with the value of the tcsr[inv] bit. when the counter value matches the value in the tcpr, the polarity of the tio output signal is inverted. tcsr[tcf] is set, and a compare interrupt is generated if the tcsr[tcie] bit is set. if the tcsr[trm] bit is set, the counter is loaded with the value of the tlr when the next timer clock is received, and the count resumes. if the trm bit is cleared, the counter continues to increment on each timer clock. this process repeats until the timer is cleared (disabling the timer). the tcpr[tlr] value sets the delay between starting the timer and toggling the tio signal. to generate output signals with a delay of x clock cycles between toggles, set the tlr value to x/2, and set the tcsr[trm] bit. this process repeats until the timer is disabled (that is, tcsr[te] is cleared). bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0010 2 t oggle timer output internal mode 1 (internal clock): trm = 0 n = write preload m = write compare te (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) first event m 1 n pulse width = timer clock period tio pin (inv = 0) tio pin (inv = 1) tof (overflow interrupt if tcie = 1) counter (tcr) 0n n + 1 m 0 m + 1 clock f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 9 figure 9-7. toggle mode, trm = 1 figure 9-8. toggle mode, trm = 0 mode 2 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n n + 1 m n n + 1 n pulse width = m - n clock periods tio pin (inv = 0) tio pin (inv = 1) mode 2 (internal clock): trm = 0 n = write preload m = write compare te tlr tcpr tcf (compare interrupt if tcie = 1) first event m n first toggle = m - n clock periods second and later toggles = 2 24 clock periods tio pin (inv = 0) tio pin (inv = 1) 1 counter (tcr) 0n n + 1 m 0 m + 1 tof (overflow interrupt if tcie = 1) (clk/2 or prescale clk) clock f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 10 dsp56311 users manual motorola operating modes 9.3.1.4 timer event counter (mode 3) in mode 3, the timer counts external events and issues an interrupt (if interrupt enable bits are set) when the timer counts a preset number of events. the timer clock signal can be taken from either the tio input signal or the prescalar clock output. if an external clock is used, it must be internally synchronized to the internal clock, and its frequency must be less than the dsp56311 internal operating frequency divided by 4. the value of the tcsr[inv] bit determines whether low-to-high (0 to 1) transitions or high-to-low (1 to 0) transitions increment the counter. if the inv bit is set, high-to-low transitions increment the counter. if the inv bit is cleared, low-to-high transitions increment the counter. when the counter matches the value contained in the tcpr, tcsr[tcf] is set and a compare interrupt is generated if the tcsr[tcie] bit is set. if the tcsr[trm] bit is set, the counter is loaded with the value of the tlr when the next timer clock is received, and the count is resumed. if the tcsr[trm] bit is cleared, the counter continues to increment on each timer clock. this process repeats until the timer is disabled. figure 9-9. event counter mode, trm = 1 bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0011 3 event counter timer i nput external mode 3 (internal clock): trm = 1 n = write preload m = write compare te clock (tio pin or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n n + 1 m n n + 1 n interrupts every m - n clock periods if clock source is from tio pin, tio < cpuclk + 4 note: if inv = 1, counter is clocked on 1-to-0 clock transitions, instead of 0-to-1 transitions. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 11 figure 9-10. event counter mode, trm = 0 9.3.2 signal measurement modes the following signal measurement and pulse width modulation modes are provided: n measurement input width (mode 4) n measurement input period (mode 5) n measurement capture (mode 6) n pulse width modulation mode (mode 7) the external signal synchronizes with the internal clock that increments the counter. this synchronization process can cause the number of clocks measured for the selected signal value to vary from the actual signal value by plus or minus one counter clock cycle. mode 3 (internal clock): trm = 0 n = write preload m = write compare te (tio pin or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) first event m n if clock source is from tio pin, tio < cpuclk + 4 clock 1 counter (tcr) 0n n + 1 m 0 m + 1 tof (overflow interrupt if tcie = 1) note: if inv = 1, counter is clocked on 1-to-0 clock transitions, instead of 0-to-1 transitions. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 12 dsp56311 users manual motorola operating modes 9.3.2.1 measurement input width (mode 4) in mode 4, the timer counts the number of clocks that occur between opposite edges of an input signal. after the first appropriate transition (as determined by the tcsr[inv] bit) occurs on the tio input signal, the counter is loaded with the tlr value. if tcsr[inv] is set, the timer starts on the first high-to-low (1 to 0) signal transition on the tio signal. if the inv bit is cleared, the timer starts on the first low-to-high (that is, 0 to 1) transition on the tio signal. when the first transition opposite in polarity to the inv bit setting occurs on the tio signal, the counter stops. tcsr[tcf] is set and a compare interrupt is generated if the tcsr[tcie] bit is set. the value of the counter (which measures the width of the tio pulse) is loaded into the tcr, which can be read to determine the external signal pulse width. if the tcsr[trm] bit is set, the counter is loaded with the tlr value on the first timer clock received following the next valid transition on the tio input signal, and the count resumes. if tcsr[trm] is cleared, the counter continues to increment on each timer clock. this process repeats until the timer is disabled. figure 9-11. pulse width measurement mode, trm = 1 bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0100 4 i nput width measurement input internal mode 4 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcr counter first event m 0nn + 1 m n + 1 n interrupt service reads tcr; width note: if inv = 1, a 1-to-0 edge on tio loads the counter, and a 0-to-1 edge on tio tcf (compare interrupt if tcie = 1) tio pin width being measured stops the counter and loads tcr with the count. = m - n clock periods next 0-to-1 edge on tio loads counter and process repeats f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 13 figure 9-12. pulse width measurement mode, trm = 0 9.3.2.2 measurement input period (mode 5) in mode 5, the timer counts the period between the reception of signal edges of the same polarity across the tio signal. the value of the inv bit determines whether the period is measured between consecutive low-to-high (0 to 1) transitions of tio or between consecutive high-to-low (1 to 0) transitions of tio. if inv is set, high-to-low signal transitions are selected. if inv is cleared, low-to-high signal transitions are selected. after the first appropriate transition occurs on the tio input signal, the counter is loaded with the tlr value. on the next signal transition of the same polarity that occurs on tio, tcsr[tcf] is set, and a compare interrupt is generated if the tcsr[tcie] bit is set. the contents of the counter load into the tcr. the tcr then contains the value of the time that elapsed between the two signal transitions on the tio signal. after the second signal transition, if the tcsr[trm] bit is set, the tcsr[te] bit is set to clear the counter and enable the timer. the counter is repeatedly loaded and incremented until the timer is disabled. if the tcsr[trm] bit is cleared, the counter continues to increment until it overflows. bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0 1 0 1 5 input period measurement input internal mode 4 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcr counter first event m 0nn + 1 m n + 1 n interrupt service reads tcr for note: if inv = 1, a 1-to-0 edge on tio loads the counter, and a 0-to-1 edge on tio tcf (compare interrupt if tcie = 1) tio pin width being measured stops the counter and loads tcr with the count. accumulated width of m - n clock periods. next 0-to-1 edge on tio starts counter from current count and process repeats. overflow may occur (tof = 1). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 14 dsp56311 users manual motorola operating modes figure 9-13. period measurement mode, trm = 1 figure 9-14. period measurement mode, trm = 0 mode 5 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcr counter first event m 0n n + 1m n n + 1 n note: if inv = 1, a 1-to-0 edge on tio loads the counter, and a 0-to-1 edge on tio tcf (compare interrupt if tcie = 1) tio pin period being measured loads tcr with count and the counter with n. interrupt service reads tcr; period = m - n clock periods counter continues counting, does not stop mode 5 (internal clock): trm = 0 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcr counter first event m 0 n n + 1 m m + 1 n + 1 n note: if inv = 1, a 1-to-0 edge on tio loads the counter, and a 0-to-1 edge on tio tcf (compare interrupt if tcie = 1) tio pin period being measured loads tcr with count and the counter with n. interrupt service reads tcr; period = m - n clock periods counter continues counting, does not stop. overflow may occur (tof=1). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 15 9.3.2.3 measurement capture (mode 6) in mode 6, the timer counts the number of clocks that elapse between when the timer starts and when an external signal is received. at the first appropriate transition of the external clock detected on the tio signal, tcsr[tcf] is set and, if the tcsr[tcie] bit is set, a compare interrupt is generated. the counter halts. the contents of the counter are loaded into the tcr. the value of the tcr represents the delay between the setting of the tcsr[te] bit and the detection of the first clock edge signal on the tio signal. the value of the inv bit determines whether a high-to-low (1 to 0) or low-to-high (0 to 1) transition of the external clock signals the end of the timing period. if the inv bit is set, a high-to-low transition signals the end of the timing period. if inv is cleared, a low-to-high transition signals the end of the timing period. figure 9-15. capture measurement mode, trm = 0 bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0110 6 capture measurementinputinternal mode 6 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcr counter first event m 0 n n + 1 m n n + 1 n interrupt service reads tcr; delay note: if inv = 1, a 1-to-0 edge on tio loads tcr with count and stops the counter. tcf (compare interrupt if tcie = 1) tio pin delay being measured = m - n clock periods counter stops counting; overflow may occur before capture (tof = 1) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 16 dsp56311 users manual motorola operating modes 9.3.3 pulse width modulation (pwm, mode 7) in mode 7, the timer generates periodic pulses of a preset width. when the counter equals the value in the tcpr, the tio output signal is toggled and tcsr[tcf] is set. the contents of the counter are placed into the tcr. if the tcsr[tcie] bit is set, a compare interrupt is generated. the counter continues to increment on each timer clock. if counter overflow occurs, the tio output signal is toggled, tcsr[tof] is set, and an overflow interrupt is generated if the tcsr[toie] bit is set. if the tcsr[trm] bit is set, the counter is loaded with the tlr value on the next timer clock and the count resumes. if the tcsr[trm] bit is cleared, the counter continues to increment on each timer clock. this process repeats until the timer is disabled. when the tcsr[te] bit is set and the counter starts, the tio signal assumes the value of inv. on each subsequent toggle of the tio signal, the polarity of the tio signal is reversed. for example, if the inv bit is set, the tio signal generates the following signal: 1010. if the inv bit is cleared, the tio signal generates the following signal: 0101. the value of the tlr determines the output period ($ffffff - tlr + 1). the timer counter increments the initial tlr value and toggles the tio signal when the counter value exceeds $ffffff. the duty cycle of the tio signal is determined by the value in the tcpr. when the value in the tlr increments to a value equal to the value in the tcpr, the tio signal is toggled. the duty cycle is equal to ($ffffff C tcpr) divided by ($ffffff - tlr + 1). for a 50 percent duty cycle, the value of tcpr is equal to ($ffffff + tlr + 1)/2. note: the value in tcpr must be greater than the value in tlr. bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 0 1 1 1 7 pulse width modulation pwm output internal f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 17 figure 9-16. pulse width modulation toggle mode, trm = 1 mode 7 (internal clock): trm = 1 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n m n n + 1 n period = $ffffff - tlr + 1 duty cycle = ($ffffff - tcpr) ensure that tcpr > tlr for correct functionality 0 m + 1 tcf (overflow interrupt if tdie = 1) tio pin (inv = 0) tio pin (inv = 1) pulse width period f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 18 dsp56311 users manual motorola operating modes figure 9-17. pulse width modulation toggle mode, trm = 0 9.3.4 watchdog modes the following watchdog timer modes are provided: n watchdog pulse n watchdog toggle mode 7 (internal clock): trm = 0 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcpr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n m 1 2 n period = $ffffff - tlr + 1 duty cycle = ($ffffff - tcpr) ensure that tcpr > tlr for correct functionality 0 m + 1 tcf (overflow interrupt if tdie = 1) tio pin (inv = 0) tio pin (inv = 1) pulse width period note: on overflow, tcr is loaded with the value of tlr. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operating modes motorola triple timer module 9- 19 9.3.4.1 watchdog pulse (mode 9) in mode 9, the timer generates an external signal at a preset rate. the signal period is equal to the period of one timer clock. after the counter reaches the value in the tcpr, if the tcsr[trm] bit is set, the counter is loaded with the tlr value on the next timer clock and the count resumes. therefore trm = 1 is not useful for watchdog functions. if the tcsr[trm] bit is cleared, the counter continues to increment on each subsequent timer clock. this process repeats until the timer is disabled (that is, tcsr[te] is cleared). if the counter overflows, a pulse is output on the tio signal with a pulse width equal to the timer clock period. if the inv bit is set, the pulse polarity is high (logical 1). if inv is cleared, the pulse polarity is low (logical 0). the counter reloads when the tlr is written with a new value while the tcsr[te] bit is set. in mode 9, internal logic preserves the tio value and direction for an additional 2.5 internal clock cycles after the hardware reset signal is asserted. this convention ensures that a valid reset signal is generated when the tio signal resets the dsp56311. figure 9-18. watchdog pulse mode bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 1 0 0 1 9 pulse watchdog output internal mode 9 (internal clock): trm = 0 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n m 1 n trm = 1 is not useful for watchdog function 0 m + 1 tof (overflow interrupt if toie = 1) tio pin (inv = 0) tio pin (inv = 1) (software does not reset watchdog timer; watchdog times out) n + 1 pulse width = timer clock period float float low high tio can connect to the reset pin, internal hardware preserves the tio value and direction for an additional 2.5 clocks to ensure a reset of valid length. tcpr f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 20 dsp56311 users manual motorola operating modes 9.3.4.2 watchdog toggle (mode 10) in mode 10, the timer toggles an external signal after a preset period. the tio signal is set to the value of the inv bit.when the counter equals the value in the tcpr, tcsr[tcf] is set, and a compare interrupt is generated if the tcsr[tcie] bit is also set. if the tcsr[trm] bit is set, the counter loads with the tlr value on the next timer clock and the count resumes. therefore, trm = 1 is not useful for watchdog functions. if the tcsr[trm] bit is cleared, the counter continues to increment on each subsequent timer clock. when a counter overflow occurs, the polarity of the tio output signal is inverted. the counter is reloaded whenever the tlr is written with a new value while the tcsr[te] bit is set. this process repeats until the timer is disabled. in mode 10, internal logic preserves the tio value and direction for an additional 2.5 internal clock cycles after the hardware reset signal is asserted. this convention ensures that a valid reset signal is generated when the tio signal resets the dsp56311. figure 9-19. watchdog toggle mode bit settings mode characteristics tc3 tc2 tc1 tc0 mode name function tio clock 1010 10 t oggle watchdog output internal mode 10 (internal clock): trm = 0 n = write preload m = write compare te clock (clk/2 or prescale clk) tlr tcf (compare interrupt if tcie = 1) counter (tcr) first event m 0 n m 1 n trm = 1 is not useful for watchdog function 0 m + 1 tof (overflow interrupt if toie = 1) tio pin (inv = 0) tio pin (inv = 1) n + 1 float float low high tio can connect to the reset pin, internal hardware preserves the tio value and direction for an additional 2.5 clocks to ensure a reset of valid length. tcpr f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
triple timer module programming model motorola triple timer module 9- 21 9.3.4.3 reserved modes modes 8, 11, 12, 13, 14, and 15 are reserved. 9.3.5 special cases the following special cases apply during wait and stop state. n timer behavior during wait timer clocks are active during the execution of the wait instruction and timer activity is undisturbed. if a timer interrupt is generated, the dsp56311 leaves the wait state and services the interrupt. n timer behavior during stop during execution of the stop instruction, the timer clocks are disabled, timer activity stops, and the tio signals are disconnected. any external changes that happen to the tio signals are ignored when the dsp56311 is in stop state. to ensure correct operation, disable the timers before the dsp56311 is placed in stop state. 9.3.6 dma trigger each timer can also trigger dma transfers if a dma channel is programmed to be triggered by a timer event. the timer issues a dma trigger on every event in all modes of operation. to ensure that all dma triggers are serviced, provide for the preceding dma trigger to be serviced before the dma channel receives the next trigger. 9.4 triple timer module programming model the timer programmers model in figure 9-20 shows the structure of the timer registers. 9.4.1 prescalar counter the prescalar counter is a 21-bit counter that decrements on the rising edge of the prescalar input clock. the counter is enabled when at least one of the three timers is enabled (that is, one or more of the timer enable bits are set) and is using the prescalar output as its source (that is, one or more of the pce bits are set). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 22 dsp56311 users manual motorola triple timer module programming model figure 9-20. timer module programmers model do di dir 15 14 13 12 11 10 9 8 tc1 tc0 inv tcie te 76543210 timer control/status register (tcsr) reserved bit. read as 0. write with 0 for future compatibility 23 0 timer load register (tlr) 23 22 21 20 19 18 17 16 23 0 timer compare register (tcpr) pce trm tcf tof toie tc2 23 0 timer count register (tcr) tc3 tcsr0 = $ffff8f tcsr1 = $ffff8b tcsr2 = $ffff87 tlr0 = $ffff8e tlr1 = $ffff8a tlr2 = $ffff86 tcr0 = $ffff8c tcr1 = $ffff88 tcr2 = $ffff84 tcpr0 = $ffff8d tcpr1 = $ffff89 tcpr2 = $ffff85 23 0 timer prescalar load register (tplr) tplr = $ffff83 23 0 timer prescalar count register (tpcr) tplr = $ffff82 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
triple timer module programming model motorola triple timer module 9- 23 9.4.2 timer prescalar load register (tplr) the tplr is a read/write register that controls the prescalar divide factor (i. e., the number that the prescalar counter loads and begins counting from) and the source for the prescalar input clock. 23 22 21 20 19 18 17 16 15 14 13 12 ps1 ps0 pl20 pl19 pl18 pl17 pl16 pl15 pl14 pl13 pl12 11109876543210 pl11 pl10 pl9 pl8 pl7 pl6 pl5 pl4 pl3 pl2 pl1 pl0 reserved bit. read as 0. write with 0 for future compatibility figure 9-21. timer prescalar load register (tplr) table 9-1. timer prescalar load register (tplr) bit definitions bit number bit name reset value description 23 0 reserved. write to zero for future compatibility. 22 C 21 ps[1 C 0] 0 prescalar source control the source of the prescalar clock. the prescalars use of a tio signal is not affected by the tcsr settings of the timer of the corresponding tio signal. if the prescalar source clock is external, the prescalar counter is incremented by signal transitions on the tio signal. the external clock is internally synchronized to the internal clock. the external clock frequency must be lower than the dsp56311 internal operating frequency divided by 4 (that is, clk/4). note: to ensure proper operation, change the ps[1 C 0] bits only when the prescalar counter is disabled. disable the prescalar counter by clearing tcsr[te] of each of three timers. ps1 ps0 prescalar clock source 00 internal clk/2 01 tio0 10 tio1 11 tio2 20 C 0 pl[20 C 0] 0 prescalar preload value contains the prescalar preload value, which is loaded into the prescalar counter when the counter value reaches 0 or the counter switches state from disabled to enabled. if pl[20 C 0] = n, then the prescalar counts n+1 source clock cycles before generating a prescalar clock pulse. therefore, the prescalar divide factor = (preload value) + 1. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 24 dsp56311 users manual motorola triple timer module programming model 9.4.3 timer prescalar count register (tpcr) the tpcr is a read-only register that reflects the current value in the prescalar counter. 9.4.4 timer control/status register (tcsr) the tcsr is a read/write register controlling the timer and reflecting its status. 23 22 21 20 19 18 17 16 15 14 13 12 pc20 pc19 pc18 pc17 pc16 pc15 pc14 pc13 pc12 11109876543210 pc11 pc10 pc9 pc8 pc7 pc6 pc5 pc4 pc3 pc2 pc1 pc0 reserved bit; read as 0; should be written with 0 for future compatibility figure 9-22. timer prescalar count register (tpcr) table 9-2. timer prescalar count register (tpcr) bit definitions bit number bit name reset value description 23 C 21 0 reserved. write to zero for future compatibility. 20 C 0 pc[20 C 0] 0 prescalar counter value contain the current value of the prescalar counter. 23 22 21 20 19 18 17 16 15 14 13 12 tcf tof pce do di 11109876543210 dir trm inv tc3 tc2 tc1 tc0 tcie toie te reserved. read as 0. write with 0 for future compatibility figure 9-23. timer control/status register (tcsr) table 9-3. timer control/status register (tcsr) bit definitions bit number bit name reset value description 23 C 22 0 reserved. write to zero for future compatibility. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
triple timer module programming model motorola triple timer module 9- 25 21 tcf 0 timer compare flag indicate that the event count is complete. in timer, pwm, and watchdog modes, the tcf bit is set after (m C n + 1) events are counted. (m is the value in the compare register and n is the tlr value.) in measurement modes, the tcf bit is set when the measurement completes. writing a one to the tcf bit clears it. a zero written to the tcf bit has no effect. the bit is also cleared when the timer compare interrupt is serviced. the tcf bit is cleared by a hardware reset signal, a software reset instruction, the stop instruction, or by clearing the tcsr[te] bit to disable the timer. note: the tof and tcf bits are cleared by a 1 written to the specific bit. to ensure that only the target bit is cleared, do not use the bset command. the proper way to clear these bits is to write 1, using a movep instruction, to the flag to be cleared and 0 to the other flag. 20 tof 0 timer overflow flag indicates that a counter overflow has occurred. this bit is cleared by a one written to the tof bit. a zero written to tof has no effect. the bit is also cleared when the timer overflow interrupt is serviced. the tof bit is cleared by a hardware reset signal, a software reset instruction, the stop instruction, or by clearing the tcsr[te] bit to disable the timer . 19 C 16 0 reserved. write to zero for future compatibility. 15 pce 0 prescalar clock enable selects the prescalar clock as the timer source clock. when pce is cleared, the timer uses either an internal (clk/2) signal or an external (tio) signal as its source clock. when pce is set, the prescalar output is the timer source clock for the counter, regardless of the timer operating mode. to ensure proper operation, the pce bit is changed only when the timer is disabled. the ps[1 C 0] bits of the tplr determine which source clock is used for the prescalar. a timer can be clocked by a prescalar clock that is derived from the tio of another timer. 14 0 reserved. write to zero for future compatibility. 13 do 0 data output the source of the tio value when it is a data output signal. the tio signal is a data output when the gpio mode is enabled and dir is set. a value written to the do bit is written to the tio signal. if the inv bit is set, the value of the do bit is inverted when written to the tio signal. when the inv bit is cleared, the value of the do bit is written directly to the tio signal. when gpio mode is disabled, writing to the do bit has no effect. 12 di 0 data input reflects the value of the tio signal. if the inv bit is set, the value of the tio signal is inverted before it is written to the di bit. if the inv bit is cleared, the value of the tio signal is written directly to the di bit. table 9-3. timer control/status register (tcsr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 26 dsp56311 users manual motorola triple timer module programming model 11 dir 0 direction determines the behavior of the tio signal when it functions as a gpio signal. when dir is set, the tio signal is an output; when dir is cleared, the tio signal is an input. the tio signal functions as a gpio signal only when the tc[3 C 0] bits are cleared. if any of the tc[3 C 0] bits are set, then the gpio function is disabled, and the dir bit has no effect. 10 0 reserved. write to zero for future compatibility. 9trm0 timer reload mode controls the counter preload operation. in timer (0C3) and watchdog (9C10) modes, the counter is preloaded with the tlr value after the tcsr[te] bit is set and the first internal or external clock signal is received. if the trm bit is set, the counter is reloaded each time after it reaches the value contained by the tcr. in pwm mode (7), the counter is reloaded each time counter overflow occurs. in measurement (4C5) modes, if the trm and the tcsr[te] bits are set, the counter is preloaded with the tlr value on each appropriate edge of the input signal. if the trm bit is cleared, the counter operates as a free running counter and is incremented on each incoming event. 8inv0 inverter affects the polarity definition of the incoming signal on the tio signal when tio is programmed as input. it also affects the polarity of the output pulse generated on the tio signal when tio is programmed as output. see table 9-4 , inverter (inv) bit operation, on page 9-28. the inv bit does not affect the polarity of the prescalar source when the tio is input to the prescalar. note: the inv bit affects both the timer and gpio modes of operation. to ensure correct operation, change this bit only when one or both of the following conditions is true: the timer is disabled (the tcsr[te] bit is cleared). the timer is in gpio mode. table 9-3. timer control/status register (tcsr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
triple timer module programming model motorola triple timer module 9- 27 7 C 4 tc[3 C 0] 0 timer control control the source of the timer clock, the behavior of the tio signal, and the timer mode of operation. section 9.3 , "operating modes," on page 9-4 describes the timer operating modes in detail. note: to ensure proper operation, the tc[3 C 0] bits should be changed only when the timer is disabled (that is, when the tcsr[te] bit is cleared) note: if the clock is external, the counter is incremented by the transitions on the tio signal. the external clock is internally synchronized to the internal clock, and its frequency should be lower than the internal operating frequency divided by 4 (that is, clk/4). bit settings mode characteristics tc3 tc2 tc1 tc0 mode number mode function tio clock 0000 0 timer and gpio gpio 1 internal 0 0 0 1 1 timer pulse output internal 0 0 1 0 2 timer toggle output internal 0 0 1 1 3 event counter input external 0100 4 input width measurement input internal 0101 5 input period measurement input internal 0 1 1 0 6 capture event input internal 0111 7 pulse width modulation output internal 1 0 0 0 8 reserved 1001 9 watchdog pulse output internal 1010 10 watchdog toggle output internal 1 0 1 1 11 reserved 1 1 0 0 12 reserved 1 1 0 1 13 reserved 1 1 1 0 14 reserved 1 1 1 1 15 reserved note 1 : the gpio function is enabled only if all of the tc[3 C 0] bits are 0. 3 0 reserved. write to zero for future compatibility. table 9-3. timer control/status register (tcsr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 28 dsp56311 users manual motorola triple timer module programming model 2tcie0 timer compare interrupt enable enables/disables the timer compare interrupts. when set, tcie enables the compare interrupts. in the timer, pulse width modulation (pwm), or watchdog modes, a compare interrupt is generated after the counter value matches the value of the tcpr. the counter starts counting up from the number loaded from the tlr and if the tcpr value is m, an interrupt occurs after (m C n + 1) events, where n is the value of tlr. when cleared, the tcsr[tcie] bit disables the compare interrupts. 1toie0 timer overflow interrupt enable enables timer overflow interrupts. when set, toie enables overflow interrupt generation. the timer counter can hold a maximum value of $ffffff. when the counter value is at the maximum value and a new event causes the counter to be incremented to $000000, the timer generates an overflow interrupt. when cleared, the toie bit disables overflow interrupt generation. 0te0 timer enable enables/disables the timer. when set, te enables the timer and clears the timer counter. the counter starts counting according to the mode selected by the timer control (tc[3 C 0]) bit values. when clear, te bit disables the timer. note: when all three timers are disabled and the signals are not in gpio mode, all three tio signals are tri-stated. to prevent undesired spikes on the tio signals when you switch from tri-state into active state, these signals should be tied to the high or low signal state by pull-up or pull-down resistors. table 9-4. inverter (inv) bit operation mode tio programmed as input tio programmed as output inv = 0 inv = 1 inv = 0 inv = 1 0 gpio signal on the tio signal read directly. gpio signal on the tio signal inverted. bit written to gpio put on tio signal directly. bit written to gpio inverted and put on tio signal. 1 counter is incremented on the rising edge of the signal from the tio signal. counter is incremented on the falling edge of the signal from the tio signal. 2 counter is incremented on the rising edge of the signal from the tio signal. counter is incremented on the falling edge of the signal from the tio signal. initial output put on tio signal directly. initial output inverted and put on tio signal. 3 counter is incremented on the rising edge of the signal from the tio signal. counter is incremented on the falling edge of the signal from the tio signal. table 9-3. timer control/status register (tcsr) bit definitions (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
triple timer module programming model motorola triple timer module 9- 29 9.4.5 timer load register (tlr) the tlr is a 24-bit write-only register. in all modes, the counter is preloaded with the tlr value after the tcsr[te] bit is set and a first event occurs. n in timer modes, if the tcsr[trm] bit is set, the counter is reloaded each time after it reaches the value contained by the timer compare register and the new event occurs. n in measurement modes, if tcsr[trm] and tcsr[te] are set, the counter is reloaded with the value in the tlr on each appropriate edge of the input signal. n in pwm modes, if tcsr[trm] is set, the counter is reloaded each time after it overflows and the new event occurs. n in watchdog modes, if tcsr[trm] is set, the counter is reloaded each time after it reaches the value contained by the timer compare register and the new event occurs. in this mode, the counter is also reloaded whenever the tlr is written with a new value while tcsr[te] is set. n in all modes, if tcsr[trm] is cleared (trm = 0), the counter operates as a free-running counter. 4 width of the high input pulse is measured. width of the low input pulse is measured. 5 period is measured between the rising edges of the input signal. period is measured between the falling edges of the input signal. 6 event is captured on the rising edge of the signal from the tio signal. event is captured on the falling edge of the signal from the tio signal. 7 pulse generated by the timer has positive polarity. pulse generated by the timer has negative polarity. 9 pulse generated by the timer has positive polarity. pulse generated by the timer has negative polarity. 10 pulse generated by the timer has positive polarity. pulse generated by the timer has negative polarity. table 9-4. inverter (inv) bit operation (continued) mode tio programmed as input tio programmed as output inv = 0 inv = 1 inv = 0 inv = 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
9- 30 dsp56311 users manual motorola triple timer module programming model 9.4.6 timer compare register (tcpr) the tcpr is a 24-bit read/write register that contains the value to be compared to the counter value. these two values are compared every timer clock after tcsr[te] is set. when the values match, the timer compare flag bit is set and an interrupt is generated if interrupts are enabled (that is, the timer compare interrupt enable bit in the tcsr is set). the tcpr is ignored in measurement modes. 9.4.7 timer count register (tcr) the tcr is a 24-bit read-only register. in timer and watchdog modes, the contents of the counter can be read at any time from the tcr register. in measurement modes, the tcr is loaded with the current value of the counter on the appropriate edge of the input signal, and its value can be read to determine the width, period, or delay of the leading edge of the input signal. when the timer is in measurement mode, the tio signal is used for the input signal. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola enhanced filter coprocessor (efcop) 10- 1 chapter 10 enhanced filter coprocessor (efcop) the efcop peripheral module functions as a general-purpose, fully programmable filter. it has optimized modes of operation to perform real and complex finite impulse response (fir) filtering, infinite impulse response (iir) filtering, adaptive fir filtering, and multichannel fir filtering. efcop filter operations complete concurrently with dsp56300 core operations, with minimal cpu intervention. for optimal performance, the efcop has one dedicated filter multiplier accumulator (fmac) unit. thus, for filtering, the combination core/efcop offers dual mac capabilities. its dedicated modes make the efcop a very flexible filter coprocessor with operations optimized for cellular base station applications. the efcop architecture also allows adaptive fir filtering in which the filter coefficient update is performed using any fixed-point standard or non-standard adaptive algorithmsfor example, the well-known least mean square (lms) algorithm, the normalized lms, and customized update algorithms. in a transceiver base station, the efcop can perform complex matched filtering to maximize the signal-to-noise ratio (snr) within an equalizer. in a transcoder base station or a mobile switching center, the efcop can perform all types of fir and iir filtering within a vocoder, as well as lms-type echo cancellation. the first half of this chapter describes the structure and function of the efcop, examining its features, architecture, and programming model. the remainder of the chapter covers programming topics, such as transferring data to and from the efcop, using it in different modes, and examples of usage. 10.1 features n fully programmable real/complex filter machine with 24-bit resolution n fir filter options four modes of operation with optimized performance: mode 0, fir machine with real taps mode 1, fir machine with complex taps mode 2, complex fir machine generating pure real/imaginary outputs alternately mode 3magnitude (calculate the square of each input sample) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 2 features 4-bit decimation factor in fir filters providing up to 1:16 decimation ratio easy to use adaptive mode supporting true or delayed lms-type algorithms k-constant input register for coefficient updates (in adaptive mode) n iir filter options: direct form 1 (dfi) and direct form 2 (dfii) configurations 1 three optional output scaling factors (1, 8, or 16) n multichannel mode to process multiple, equal-length filter channels (up to 64) simultaneously with minimal core intervention n optional input scaling for both fir and iir filters n two filter initialization modes no initialization data initialization n sixteen-bit arithmetic mode support n three rounding options available: no rounding convergent rounding twos complement rounding n arithmetic saturation mode support for bit-exact applications n sticky saturation status bit indication n sticky data/coefficient transfer contention status bit n 4-word deep input data buffer for maximum performance n efcop-shared and core-shared 10k-word filter data memory bank and 10k-word filter coefficient memory bank n two memory bank base address pointers, one for data memory (shared with x memory) and one for coefficient memory (shared with y memory) n i/o data transfers via core or dma with minimal core intervention n core-concurrent operation with minimal core intervention 1. for details on dfi and dfii modes, refer to the motorola application note entitled implementing iir/fir filters with motorolas dsp56000/dsp56001 (apr7/d). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
architecture overview motorola enhanced filter coprocessor (efcop) 10- 3 10.2 architecture overview as figure 10-1 shows, the efcop comprises these main functional blocks: n peripheral module bus (pmb) interface, including: data input buffer constant input buffer output buffer filter counter n filter data memory (fdm) bank n filter coefficient memory (fcm) bank n filter multiplier accumulator (fmac) machine n address generator n control logic figure 10-1. efcop block diagram filter count address generator control 4-word data memory bank 24-bit coefficient memory bank 24-bit fmac 24x24 -> 56-bit output buffer rounding & limiting dma bus gdb bus pmb interface logic data input buffer fdir fdm fcm fdor fcnt filter constant fkir x memory shared ram y memory shared ram coeff. base ad. fcba data base ad. fdba f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 4 architecture overview 10.2.1 pmb interface the pmb interface block contains control and status registers, buffers the internal bus from the pmb, decodes and generates addresses, and controls the handshake signals required for dma and interrupt operations. the block generates interrupt and dma trigger signals for data transfers. the interface registers accessible to the dsp56300 core through the pmb are summarized in table 10-1 . 10.2.2 efcop memory banks the efcop contains two memory banks: n filter data memory (fdm) this 24-bit-wide memory bank is mapped as x memory and stores input data samples for efcop filter processing. the fdm is written via a 4-word fifo (fdir), and its addressing is generated by the efcop address generation logic. the input data samples are read sequentially from the fdm into the mac. the fdm is accessible for writes by the core, and the dma controller and is shared with the 10k lowest locations ($0C$2800) of the on-chip internal x memory. table 10-1. efcop registers accessible through the pmb register name description filter data input register (fdir) a 4-word-deep 24-bit-wide fifo used for dsp-to-efcop data transfers. data from the fdir is transferred to the fdm for filter processing. filter data output register (fdor) a 24-bit-wide register used for efcop-to-dsp data transfers. data is transferred to fdor after processing of all filter taps is completed for a specific set of input samples. filter k-constant input register (fkir) a 24-bit register for dsp-to-efcop constant transfers. filter count (fcnt) register a 24-bit register that specifies the number of filter taps. the count stored in the fcnt register is used by the efcop address generation logic to generate correct addressing to the fdm and fcm. efcop control status register (fcsr) a 24-bit read/write register used by the dsp56300 core to program the efcop and to examine the status of the efcop module. efcop alu control register (facr) a 24-bit read/write register used by the dsp56300 core to program the efcop data alu operating modes. efcop data buffer base address (fdba) a 16-bit read/write register used by the dsp56300 core to indicate the efcop the data buffer base start address pointer in fdm ram. efcop coefficient buffer base address (fcba) a 16-bit read/write register by which the dsp56300 core indicates the efcop coefficient buffer base start address pointer in fcm ram. decimation/ channel count register (fdch) a 24-bit register that sets the number of channels in multichannel mode and the filter decimation ratio. the efcop address generation logic uses this information to supply the correct addressing to the fdm and fcm. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
architecture overview motorola enhanced filter coprocessor (efcop) 10- 5 n filter coefficient memory (fcm) this 24-bit-wide memory bank is mapped as y memory and stores filter coefficients for efcop filter processing. the fcm is written via the dsp56300 core, and the efcop address generation logic generates its addressing. the filter coefficients are read sequentially from the fcm into the mac. the fcm is accessible for writes only by the core. the fcm is shared with the 10k lowest locations ($0C$2800 of the on-chip internal y memory. note: the filter coefficients, h(n), are stored in reverse order, where h(n-1) is stored at the lowest address of the fcm register as shown in figure 10-2 . figure 10-2. storage of filter coefficients the efcop connects to the shared memory in place of the dma bus. simultaneous core and efcop accesses to the same memory module block (256 locations) of shared memory are not permitted. it is your responsibility to prevent such simultaneous accesses. figure 10-3 illustrates the memory shared between the core and the efcop. . figure 10-3. efcop memory organization d(0) d(1) d(2) d(3) d(4) d(5) - - h(n - 1) h(n - 2) - - - - h(1) data coefficient memory bank memory bank (fcm) (fdm) h(0) x ram x ram y ram p ram efcop core gdb ddb pdb xdb ydb data fdb cdb (fdm) y ram coefficients (fcm) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 6 efcop programming model 10.2.3 filter multiplier and accumulator (fmac) the fmac machine can perform a 24-bit ? 24-bit multiplication with accumulation in a 56-bit accumulator. the fmac operates a pipeline: the multiplication is performed in one clock cycle, and the accumulation occurs in the following clock cycle. throughput is one mac result per clock cycle. the two mac operands are read from the fdm and from the fcm. the full 56-bit width of the accumulator is used for intermediate results during the filter calculations. for operations in which saturation mode is disabled, the final result is rounded according to the selected rounding mode and limited to the most positive number ($7fffff, if overflow occurred) or most negative number ($800000, if underflow occurred) after processing of all filter taps is completed. in saturation mode, the result is limited to the most positive number ($7fffff, if overflow occurred), or the most negative number ($800000, if underflow occurred) after each mac operation. the 24-bit result from the fmac is stored in the efcop output buffer, fdor. operating in sixteen-bit arithmetic mode, the fmac performs a 16-bit ? 16-bit multiplication with accumulation into a 40-bit accumulator. as with 24-bit operations, if saturation mode is disabled, the result is rounded according to the selected rounding mode and limited to the most positive number ($7fff, if overflow occurred) or the most negative number ($8000, if underflow occurred) after processing of all filter taps is completed. in saturation mode, the result is limited to the most positive number ($7fff, if overflow occurred) or the most negative number ($8000, if underflow occurred) after every mac operation. the 16-bit result from the fmac is stored in the efcop output buffer, fdor. 10.3 efcop programming model this section documents the registers for configuring and operating the efcop. the efcop registers available to the dsp programmer are listed in table 10-2 . the following paragraphs describe these registers in detail. table 10-2. efcop registers and base addresses address efcop register name y:$ffffb0 filter data input register (fdir) y:$ffffb1 filter data output register (fdor) y:$ffffb2 filter k-constant register (fkir) y:$ffffb3 filter count register (fcnt) y:$ffffb4 filter control status register (fcsr) y:$ffffb5 filter alu control register (facr) y:$ffffb6 filter data buffer base address (fdba) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
efcop programming model motorola enhanced filter coprocessor (efcop) 10- 7 10.3.1 filter data input register (fdir) the fdir is a 4-word deep, 24-bit wide fifo for dsp-to-efcop data transfers. up to four data samples can be written into the fdir at the same address. data from the fdir is transferred to the fdm for filter processing. for proper operation, write data to the fdir only if the fdibe status bit is set, indicating that the fifo is empty. a write to the fdir clears the fdibe bit. data transfers can be triggered by an interrupt request (for core transfers) or a dma request (for dma transfers). the fdir is accessible for writes by the dsp56300 core and the dma controller. 10.3.2 filter data output register (fdor) the fdor is a 24-bit read-only register for efcop-to-dsp data transfers. the result of the filter processing is transferred from the fmac to the fdor. for proper operation, read data from the fdor only if the fdobf status bit is set, indicating that the fdor contains data. a read from the fdor clears the fdobf bit. data transfers can be triggered by an interrupt request (for core transfers) or a dma request (dma transfers). the fdor is accessible for reads by the dsp56300 core and the dma controller. 10.3.3 filter k-constant input register (fkir) the filter k-constant input register (fkir) is a 24-bit write-only register for dsp-to-efcop data transfers in adaptive mode where the value stored in fkir represents the weight update multiplier. fkir is accessible only to the dsp core for reads or writes. when adaptive mode is enabled, the efcop immediately starts the coefficient update if a k-constant value is written to fkir. if no value is written to fkir for the current data sample, the efcop halts processing until the k-constant is written to fkir. after the weight update multiplier is written to fkir, the efcop transfers it to the fmac unit and starts updating the filter coefficients according to the following equation: new_coefficients = old_coefficients + fkir * input_buffer 10.3.4 filter count (fcnt) register the fcnt register is a read/write register that selects the filter length (number of filter taps). always write the initial count into the fcnt register before you enable the efcop y:$ffffb7 filter coefficient base address (fcba) y:$ffffb8 filter decimation/channel register (fdch) note: the efcop registers are mapped onto y data memory space. table 10-2. efcop registers and base addresses (continued) address efcop register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 8 efcop programming model (that is, before you set fen). the number stored in fcnt is used to generate the correct addressing for the fdm and for the fcm. note: to ensure correct operation, never change the contents of the fcnt register unless the efcop is in the individual reset state (that is, fen = 0). in the individual reset state (that is, fen = 0), the efcop module is inactive, but the contents of the fcnt register are preserved. 10.3.5 efcop control status register (fcsr) the fcsr is a 24-bit read/write register by which the dsp56300 core controls the main operation modes of the efcop and monitors the efcop status. 23 22 21 20 19 18 17 16 15 14 13 12 11109876543210 fcnt11 fcnt10 fcnt9 fcnt8 fcnt7 fcnt6 fcnt5 fcnt4 fcnt3 fcnt2 fcnt1 fcnt0 = reserved bit; read as 0; should be written with 0 for future compatib ility figure 10-4. filter count (fcnt) register table 10-3. filter count fcnt register bits bit # abbr. description 23C12 these bits are reserved and unused. they are read as 0 and should be written with 0 for future compatibility. 11C0 fcnt filter count the actual value written to the fcnt register must be the number of coefficient values minus one. the number of coefficient values is the number of locations used in the fcm. for a real fir filter, the number of coefficient values is identical to the number of filter taps. for a complex fir filter, the number of coefficient values is twice the number of filter taps. 23 22 21 20 19 18 17 16 15 14 13 12 fdobf fdibe fcont fsat 11109876543210 fdoie fdiie fsco fprc fmlc fom1 fom0 fupd fadp flt fen = reserved bit; read as 0; should be written with 0 for future compatibility f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
efcop programming model motorola enhanced filter coprocessor (efcop) 10- 9 table 10-4. fcsr bits bit number bit name reset value description 23C16 0 these bits are reserved and unused. they are read as 0 and should be written with 0 for future compatibility. 15 fdobf 0 filter data output buffer full when set, this read-only status bit indicates that the fdor is full and the dsp can read data from the fdor. the fdobf bit is set when a result from fmac is transferred to the fdor. for proper operation, read data from the fdor only if the fdobf status bit is set. when fdobf is set, the efcop generates an fdobf interrupt request to the dsp56300 core if that interrupt is enabled (that is, fdoie = 1). a dma request is always generated when the fdobf bit is set, but a dma transfer takes place only if a dma channel is activated and triggered by this event. a read from the fdor clears the fdobf bit. 14 fdibe 0 filter data input buffer empty when set, this read-only status bit indicates that the fdir is empty and the dsp can write data to the fdir. the fdibe bit is set when all four fdir locations are empty. for proper operation, write data to the fdir only if fdibe is set. after the efcop is enabled by setting fen, fdibe is set, indicating that the fdir is empty. when fdibe is set, the efcop generates an fdir empty interrupt request to the dsp56300 core, if enabled (that is, fdiie = 1). a dma request is always generated when the fdibe bit is set, but a dma transfer takes place only if a dma channel is activated and triggered by this event. a write to the fdir clears the fdibe bit. 13 fcont 0 filter contention when set, this read-only status bit indicates an attempt by both the dsp56300 core and the efcop to access the same 256-word bank in either the shared fdm or fcm. a dual access could result in faulty data output in the fdor. once set, the fcont bit is a sticky bit that can only be cleared by a hardware reset signal, a software reset instruction, or an individual reset. 12 fsat 0 filter saturation when set, this read-only status bit indicates that an overflow or underflow occurred in the mac result. when an overflow occurs, the fsat bit is set, and the result is saturated to the most positive number (that is, $7fffff). when an underflow occurs, the fsat bit is set, and the result is saturated to the most negative number (that is, $800000). fsat is a sticky status bit that is set by hardware and can be cleared only by a hardware reset signal, a software reset instruction, or an individual reset. 11 fdoie 0 filter data output interrupt enable this read/write control bit enables the filter data output interrupt. if fdoie is cleared, the filter data output interrupt is disabled, and the fdobf status bit should be polled to determine whether the fdor is full. if both fdoie and fdobf are set, the efcop requests a data output buffer full interrupt service from the dsp56300 core. a dma transfer is enabled if a dma channel is activated and triggered by this event. note: for proper operation, enable the interrupt service routine and the corresponding interrupt for core processing or enable the dma transfer and configure the proper trigger for the selected channel. never enable both simultaneously. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 10 efcop programming model 10 fdiie 0 filter data input interrupt enable this read/write control bit enables the data input buffer empty interrupt. if fdiie is cleared, the data input buffer empty interrupt is disabled, and the fdibe status bit should be polled to determine whether the fdir is empty. if both fdiie and fdibe are set, the efcop requests a data input buffer empty interrupt service from the dsp56300 core. dma transfer is enabled if a dma channel is activated and triggered by this event. note: for proper operation, enable the interrupt service routine and the corresponding interrupt for core processing or enable the dma transfer and configure the proper trigger for the selected channel. never enable both simultaneously. 9 0 reserved. it is read as 0 and should be written with 0 for future compatibility. 8fsco0 filter shared coefficients mode this read/write control bit is valid only when the efcop is operating in multichannel mode (that is, fmlc is set). when fsco is set, the efcop uses the coefficients in the same memory area (that is, the same coefficients) to implement the filter for each channel. this mode is used when several channels are filtered through the same filter. when the fsco bit is cleared, the efcop filter coefficients are stored sequentially in memory for each channel. note: to ensure proper operation, never change the fsco bit unless the efcop is in individual reset state (that is, fen = 0). 7fprc0 filter processing (fprc) state initialization mode this read/write control bit defines the efcop processing initialization mode. when this bit is cleared, the efcop starts processing after a state initialization. (the efcop machine starts computing once the fdm bank contains n input samples for an n tap filter). when this bit is set, the efcop starts processing with no state initialization. (the efcop machine starts computing as soon as the first data sample is available in the input buffer.) note: to ensure proper operation, never change the fprc bit unless the efcop is in individual reset state (that is, fen = 0). 6fmlc0 filter multichannel (fmlc) mode this read/write control bit enables multichannel mode, allowing the efcop to process several filters (defined by fchl[5:0] bits in fdch register) concurrently by sequentially entering a different sample to each filter. if fmlc is cleared, multichannel mode is disabled, and the efcop operates in single filter mode. note: to ensure proper operation, never change the fmlc bit unless the efcop is in individual reset state (that is, fen = 0). 5C4 fom 0 filter operation mode this pair of read/write control bits defines one of four operation modes if the fir filter is selected (that is, flt is cleared): fom = 00mode 0: real fir filter fom = 01mode 1: full complex fir filter fom = 10mode 2: complex fir filter with alternate real and imaginary outputs fom = 11mode 3: magnitude note: to ensure proper operation, never change the fom bits unless the efcop is in the individual reset state (that is, fen = 0). table 10-4. fcsr bits (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
efcop programming model motorola enhanced filter coprocessor (efcop) 10- 11 10.3.6 efcop alu control register (facr) the facr is a read/write register by which the dsp56300 core controls the main operation modes of the efcop alu. 3fupd0 filter update this read/write control/status bit enables the efcop to start a single coefficient update session. upon completion of the session, the fupd bit is automatically cleared. fupd is automatically set when the efcop is in adaptive mode (that is, fadp = 1). 2fadp0 filter adaptive (fadp) mode this read/write control bit enables adaptive mode. adaptive mode is an efficient way to implement a lms-type filter, and therefore it is used when the efcop operates in fir filter mode (flt = 0). in adaptive mode, processing of every input data sample consists of fir processing followed by a coefficient update. when fadp is set, the efcop completes the fir processing on the current data sample and immediately starts the coefficient update assuming that a k-constant value is written to the fkir. if no value is written to the fkir for the current data sample, the efcop halts processing until the k-constant is written to the fkir. during the coefficient update, the fupd bit is automatically set to indicate an update session. after completion of the update, the efcop starts processing the next data sample. 1flt0 filter (flt) type this read/write control bit selects one of two available filter types: flt = 0fir filter flt = 1iir filter note: to ensure proper operation, never change the flt bit unless the efcop is in the individual reset state (that is, fen = 0). 0fen0 filter enable this read/write control bit enables the operation of the efcop. when fen is cleared, operation is disabled and the efcop is in the individual reset state. in the individual reset state, the efcop is inactive; internal logic and status bits assume the same state as that produced by a hardware reset signal or a software reset instruction; the contents of the fcnt, fdba, and fcba registers are preserved; and the control bits in fcsr and facr remain unchanged. 23 22 21 20 19 18 17 16 15 14 13 12 11109876543210 fisl fsa fsm frm1 frm0 fscl1 fscl0 = reserved bit; read as 0; should be written with 0 for future compatibility = reserved for internal use; read as 0; should be written with 0 for proper use. figure 10-5. efcop alu control register (facr) table 10-4. fcsr bits (continued) bit number bit name reset value description f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 12 efcop programming model 10.3.7 efcop data base address (fdba) the fdba is a 16-bit read/write counter register used as an address pointer to the efcop fdm bank. fdba points to the location to write the next data sample. the fdba points to a modulo delay buffer of size m, defined by the filter length (m = fcnt[11:0] + 1). the address range of this modulo delay buffer is defined by lower and upper address boundaries. the lower address boundary is the fdba value with 0 in the k-lsbs, where ; it therefore must be a multiple of 2 k . the upper boundary is equal to the lower boundary plus (m C 1). since , once m has been chosen (that is, fcnt has been assigned), a sequential series of data memory blocks (each of length 2 k ) will be created where multiple circular buffers for multichannel filtering can be located. if , table 10-5. efcop alu control register (facr) bits bit number bit name reset value description 23C16 0 reserved. they are read as 0 and should be written with 0 for future compatibility. 15C12 0 reserved for internal use. written as 0 for proper operation. 11C7 0 reserved and unused. they are read as 0 and should be written with 0 for future compatibility. 6fisl0 filter input scale when set, this read/write control bit directs the efcop alu to scale the iir feedback terms but not the iir input. when cleared, the efcop alu scales both the iir feedback terms and the iir input. the scaling value in both cases is determined by the fscl[1:0] bits. 5fsa0 filter sixteen-bit arithmetic (fsa) mode when set, this read/write control bit enables fsa mode. in this mode, the rounding of the arithmetic operation is performed on bit 31 of the 56-accumulator instead of the usual bit 23 of the 56-bit accumulator. the scaling of the efcop data alu is affected accordingly. 4fsm0 filter saturation mode when set, this read/write control bit selects automatic saturation on 48 bits for the results going to the accumulator. a special circuit inside the efcop mac unit then saturates those results. the purpose of this bit is to provide arithmetic saturation mode for algorithms that do not recognize or cannot take advantage of the extension accumulator. 3C2 frm 0 filter rounding mode these read/write control bits select the type of rounding performed by the efcop data alu during arithmetic operation: frm = 00convergent rounding frm = 01twos complement rounding frm = 10truncation (no rounding) frm = 11reserved for future expansion these bits affect operation of the efcop data alu. 1C0 fscl 0 filter scaling (fscl) these read/write control bits select the scaling factor of the fmac result: fscl = 00scaling factor = 1 (no shift) fscl = 01scaling factor = 8 (3-bit arithmetic left shift) fscl = 10scaling factor = 16 (4-bit arithmetic left shift) fscl = 11reserved for future expansion to ensure proper operation, never change the fscl bits unless the efcop is in the individual reset state (that is, fen = 0). 2 k m 2 k 1 ?? m 2 k ? m 2 k < f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
efcop programming model motorola enhanced filter coprocessor (efcop) 10- 13 there will be a space between sequential circular buffers of . the address pointer is not required to start at the lower address boundary or to end on the upper address boundary. it can point anywhere within the defined modulo address range. if the data address pointer (fdba) increments and reaches the upper boundary of the modulo buffer, it will wrap around to the lower boundary. 10.3.8 efcop coefficient base address (fcba) the fcba is a 16-bit read/write counter register used as an address pointer to the efcop fcm bank. fcba points to the first location of the coefficient table. the fcba points to a modulo buffer of size m, defined by the filter length (m = fcnt[11:0] + 1). the address range of this modulo buffer is defined by lower and upper address boundaries. the lower address boundary is the fcba value with 0 in the k-lsbs, where ; it therefore must be a multiple of 2 k . the upper boundary is equal to the lower boundary plus (m C 1). since , once m has been chosen (that is, fcnt has been assigned), a sequential series of coefficient memory blocks (each of length 2 k ) is created where multiple circular buffers for multichannel filtering can be located. if , there will be a space between sequential circular buffers of . the fcba address pointer must be assigned to the lower address boundary (that is, it must have 0 in its k-lsbs). in a compute session, the coefficient address pointer always starts at the lower boundary and ends at the upper address boundary. therefore, a fcba read always gives the value of the lower address boundary. 10.3.9 decimation/channel count register (fdch) the fdch is a read/write register that sets the number of channels used in multichannel mode (fchl) and sets the decimation ratio in fir filter mode. fdch must be written before the fen enables the efcop. fdch should be changed only when the efcop is in individual reset state (fen = 0); otherwise, improper operation may result. the number stored in fchl is used by the efcop address generation logic to generate the correct address for the fdm bank and for the fcm bank in multichannel mode. when the efcop enable bit (fen) is cleared, the efcop is in individual reset state. in this state, the efcop is inactive, and the contents of fdch register are preserved. 23 22 21 20 19 18 17 16 15 14 13 12 11109876543210 fdcm3 fdcm2 fdcm1 fdcm0 fchl5 fchl4 fchl3 fchl2 fchl1 fchl0 = reserved bit; read as 0; should be written with 0 for future compatibility figure 10-6. decimation/channel count register (fdch) 2 k m 2 k m 2 k 1 ?? m 2 k ? m 2 k < 2 k m f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 14 efcop programming 10.3.10 efcop interrupt vectors table 10-7 shows the efcop interrupt vectors, and table 10-8 shows the dma request sources. 10.4 efcop programming the dsp56311 enhanced filter coprocessor (efcop) supports both finite impulse response (fir) filters and infinite impulse response (iir) filters. 1 this section discusses the different ways data can be transferred in and out of the efcop and presents some programming examples in which such transfers are performed for fir and iir filters. table 10-6. decimation/channel count register (fdch) bits bit number bit name reset value description 23C12 0 these bits are reserved and unused. they are read as 0 and should be written with 0 for future compatibility. 11C8 fdcm 0 filter decimation these read/write control bits select the decimation function. there are 16 decimation factor options (from 1 to 16). note: to ensure proper operation, never change the fdcm bits unless the efcop is in the individual reset state (fen = 0). 7C6 0 reserved and unused. they are read as 0 and should be written with 0 for future compatibility. 5C0 fchl 0 filter channels these read/write control bits determine the number of filter channels to process simultaneously (from 1 to 64) in multichannel mode. the number represented by the fchl bits is one less than the number of channels to be processed; that is, if fchl = 0, then 1 channel is processed; if fchl =1, then 2 channels are processed; and so on. note: to ensure proper operation, never change the fchl bits unless the efcop is in the individual reset state (fen = 0). table 10-7. efcop interrupt vectors interrupt address interrupt vector priority interrupt enable interrupt conditions vba + $68 data input buffer empty highest fdiie fdibe = 1 vba + $6a data output buffer full lowest fdoie fdobf = 1 table 10-8. efcop dma request sources requesting device number request conditions peripheral request mdrq efcop input buffer empty fdibe = 1 mdrq11 efcop output buffer full fdobf = 1 mdrq12 1. for details on fir and iir filters, refer to the motorola application note entitled implementing iir/fir filters with motorolas dsp56000/dsp56001 (apr7/d). f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
efcop programming motorola enhanced filter coprocessor (efcop) 10- 15 efcop operation is determined by the control bits in the efcop control/status register (fcsr), described in section 10.3.5 . further filtering operations are enabled via the appropriate bits in the facr and fdch registers. after the fcsr is configured to the mode of choice, enable the efcop by setting fcsr[fen]. to ensure proper efcop operation, most fcsr bits must not be changed while the efcop is enabled. table 10-9 summarizes the efcop operating modes. table 10-9. efcop operating modes mode description 3 fcsr bits 6 fmlc 5C4 fom 3 fupd 2 2 fadp 2 1 flt 0 fen efcop disabled 1 xxxxx0 fir, real, single channel 0 00 0001 fir, real, adaptive, single channel 0 00 0101 fir, real, coeff. update, single channel 0001001 fir, real, adaptive + coeff. update, single channel 0001101 fir, real, multichannel 1 00 0001 fir, real, adaptive, multichannel 1 00 0101 fir, real, coeff. update, multichannel 1 00 1001 fir, real, adaptive + coeff. update, multichannel 1001101 fir, full complex, single channel 0 01 0001 fir, complex alternating, single channel 0 10 0001 fir, magnitude, single channel 0 11 0001 iir, real, single channel 0 00 0011 iir, real, multichannel 1000011 notes: 1. an x indicates that the specified value can be 1 or 0. 2. if the user sets the fupd bit, the efcop updates the coefficients and clears the fupd bit. the adaptive mode (that is, fadp = 1) sets the fupd bit, which causes the efcop to update the coefficients and then automatically clear the fupd bit. therefore, the value assigned to the fupd bit in this table refers only to its initial setting and not its dynamic state during operation. 3. all bit combinations not defined by this table are reserved for future development. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 16 operation summary 10.5 operation summary the efcop is very easy to use. to define the type of filtering to perform, you need only set the following registers (the settings in the fdch and facr are optional) and then enable the efcop by setting fcsr[fen]: n fcnt n fdba n fcba n fcsr polling, dma, or interrupts can then be used to write data to the fdir and read data from the fdor. as table 10-9 shows, the efcop operates in many different modes based on the settings of the control registers. however, the efcop performs only two basic types of processing, fir filter type and iir filter type processing. various sub-options are available with each filter type, as described in the following sections. 10.5.1 fir filter type to select the fir filter type clear fcsr[flt] and perform the processing shown in figure 10-7 based on the equation shown below. the efcop takes an input, x(n) , from the fdir, saves the input while shifting the previous inputs down in the fdm, multiplies each input in the fdm by the corresponding coefficient, b i , stored in the fcm, accumulates the multiplication results, and places accumulation result, w(n) , in the fdor. this is done for each sample input to the fdir. figure 10-7. fir filter type processing wn () b i xn i () i 0 n fdir fcm fdm fdor b 0 b 1 b 2 b n x(n) x(n-1) x(n-2) x(n-n) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation summary motorola enhanced filter coprocessor (efcop) 10- 17 there are four operating modes available with the fir filter type: real, complex, alternating complex, and magnitude mode. 10.5.1.1 real mode real mode performs fir type filtering with real data and is selected by clearing both fom bits in the fcsr. one sample, the real input, is written to the fdir, and the efcop processes the data. then one sample, the real output, is read from the fdor. two other options are available with the real fir filter type: adaptive and multichannel modes. these modes can be used individually or together. 10.5.1.1.1 adaptive mode adaptive mode provides a way to update the coefficients based on filter input, x(n) , using the following equation, where h n (i) is the i th coefficient at time n . the coefficients are updated when fscr[fupd] is set. the efcop checks to see if a value has been written to the fkir. if no value is written, the efcop halts processing until a value is written to the fkir. when a value is written to the fkir, the efcop updates all the coefficients based on the above equation using the value in the fkir for k e (n) . the efcop automatically clears fscr[fupd] when the coefficient update is complete. if the coefficients are to be updated after every input sample, adaptive mode is enabled by setting the fcsr[fadp]. in adaptive mode, the efcop automatically sets the fudp bit after each input sample is processed. this allows for continuous processing using interrupts that includes a filter session and a coefficient update session with minimal core intervention. 10.5.1.1.2 multichannel mode multichannel mode allows several channels of data to be processed concurrently and is selected by setting the fcsr[fmlc]. the number of channels to process is one plus the number in the fdch[fdcm] bits. for each time period, the efcop expects to receive the samples for each channel sequentially. this is repeated for consecutive time periods. filtering can be done with the same filter or different filters for each channel by using the fcsr[fsco] bit. if fcsr[fsco] is set, the same set of coefficients are used for all channels. if fsco is clear, the coefficients for each filter are stored sequentially in memory for each channel. h n 1  i () h n i () k e n () xn i ()  f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 18 operation summary 10.5.1.1.3 complex mode complex mode performs fir type filtering with complex data based on the following equations: where h(n) is the coefficients, d(n) is the input data, and f(n) is the output data at time n . two samples, the real part then the imaginary part of the input, are written to the fdir. the efcop processes the data, and then two samplesthe real and then the imaginary part of the outputare read from the fdor. complex mode is selected by setting the fcsr[fom] bits to 01. in complex mode, the number written to the fcnt register should be twice the number of filter coefficients. also, the coefficients are stored in the fcm with the real part of the coefficient in the memory location preceding the memory location holding the imaginary part of the coefficient. 10.5.1.1.4 alternating complex mode alternating complex mode performs fir type filtering with complex data, providing alternating real and complex results based on the following equations where h(n) is the coefficients, d(n) is the input data, and f(n) is the output data at time n . two samples, the real part then the imaginary part of the input, are written to the fdir. the efcop processes the data. then one sample, alternating between the real part and the imaginary part of the output, is read from the fdor. alternating complex mode is selected by setting the fcsr[fom] bits to 10. in alternating complex mode, the number written to the fcnt register should be twice the number of filter coefficients. also, the coefficients should be stored in the fcm with the real part of the coefficient in the memory location preceding the memory location holding the imaginary part of the coefficient. re f n () () re h i () () re d n i () () ? imhi () () imdn i () () ? i 0 n 1 im f n () () re h i () () imdn i () () ? im h i () () re d n i () () ?  i 0 n 1 re f n even () () re h i () () re d n i () () ? im h i () () im d n i () () ? i 0 n 1 im f n odd () () re h i () () imdn i () () ? imhi () () re d n i () () ?  i 0 n 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
operation summary motorola enhanced filter coprocessor (efcop) 10- 19 10.5.1.1.5 magnitude mode magnitude mode calculates the magnitude of an input signal based on the following equation: where d(n) is the input data and f(n) is the output data at time n . one sample, the real input, is written to the fdir. the efcop processes the data. then one sample, the real magnitude of the input signal, is read from the fdor. magnitude mode is selected by setting both the fcsr[fom] bits. 10.5.1.1.6 initialization before the first sample is processed, the efcop filter must be initialized; that is, the input samples for times before n = 0 (assuming that time starts at 0) must be loaded into the fdm. the number of samples needed to initialize the filter is the number of filter coefficients minus one. to select initialization mode, clear the fcsr[fprc] bit. if fcsr[fprc] is set, initialization is disabled and the efcop assumes that the core wrote the initial input values to the fdm before the efcop was enabled. thus, the first value written to fdir is the first sample to be filtered. if fcsr[fprc] is clear, initialization mode is enabled and the efcop initializes the fdm by receiving the number of coefficients minus one samples through the fdir. after samples are loaded, the next value written to the fdir is the first sample to be filtered. 10.5.1.1.7 decimation decimation is another option that can be used with any four of the modes available with the fir filter type. decimation cannot be used in conjunction with adaptive and multichannel modes. decimation decreases (downsamples) the sampling rate. the decimation ratio defines the number of input samples per output sample. the decimation ratio is one plus the number in the fdch[fdcm] bits. the decimation ratio can be programmed from 1 to 16. for real and magnitude modes the decimation ratio number of samples must be written to the fdir before an output sample is read from the fdor. for complex mode, two times the decimation ratio number of samples (one for the real part and one for the imaginary part of the input) must be written to the fdir before two output samples (one for the real part and one for the imaginary part of the output) can be read from the fdor. for alternating complex mode, two times the decimation ratio number of samples must be written to the fdir (one for the real part and one for the imaginary part of the input) before one output sample (alternating between the real part and the imaginary part of the output) can be read from the fdor. fn () dn i () 2 i 0 n 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 20 operation summary 10.5.2 iir filter type to select the iir filter type, set the fcsr[flt] bit and perform the processing shown in figure 10-8 based on the equation shown here. the efcop multiplies each previous output value in the fdm by the corresponding coefficient, a , stored in the fcm; accumulates the multiplication results; adds the input, w(n) , from the fdir (which is optionally not scaled by s, depending on the facr[fisl] bit setting); places the accumulation result, y(n) , in the fdor; and saves the output while shifting the previous outputs down in the fdm. this is done for each sample input to the fdir. to process a complete iir filter, a fir filter type session followed by an iir filter type session is needed. figure 10-8. iir filter type processing real mode is one of two operating modes available with the iir filter type. thus, the fcsr[fom] bits are ignored when the iir filter type is in use. real mode performs iir type filtering with real data. one sample, the real input, is written to the fdir, and the efcop processes the data. then one sample, the real output, is read from the fdor. another option available for the iir filter type is multichannel mode. multichannel mode for iir filter type works exactly the same as it does for fir filter type, as explained in section 10.5.1.1.2 , "multichannel mode," on page 10-17. decimation and adaptive modes are not available with the iir filter type. initialization is always disabled with the iir filter type, and the fcsr[fprc] bit is ignored. thus, the dsp56300 core must write the initial input values before the efcop is enabled. the first value written to fdir is always the first sample to be filtered. yn () swn () a j yn j () j 1 m  y ?? fdir fcm fdm fdor a 0 a 1 a 2 a n y(n-1) y(n-2) y(n-3) y(n-n) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
data transfer motorola enhanced filter coprocessor (efcop) 10- 21 10.6 data transfer this section describes how to transfer data to and from the efcop using an fir filter configuration. here, we provide background information to help you understand the examples in section 10.7 , "examples of use in different modes," on page 10-22. the examples employ the following notations: n d(n): data sample at time n n h(n): filter coefficient at time n n f(n): output result at time n n #filter_count: number of coefficient values in the coefficient memory bank fcm; it is equal to the initial value written to the fcnt register plus 1. n compute: perform all calculations to determine one filter output f(n) for a specific set of input data samples to transfer data to/from the efcop input/output registers, the filter data input register (fdir) and the filter data output register (fdor) are triggered by three different methods: n direct memory access (dma) n interrupts n polling two fcsr bits (fdibe and fdobf) indicate the status of the fdir and the fdor, respectively. all three data transfer methods use these two fcsr bits as their control mechanism. if fdibe is set, the input buffer is empty; if fdobf is set, the output buffer is full. because these bits come into full operation only when the efcop is enabled (fcsr:fen is set), the polling, dma, or interrupt methods can be initialized either before or after the efcop is enabled. no service request is issued until the efcop is enabled, since fdibe and fdobf are cleared while the efcop is in the individual reset state. the most straightforward efcop data transfer method uses the core processor to poll the status flags, monitoring for input/output service requests. the disadvantage of this approach is that it demands large amounts of (if not all of) the cores processing time. the interrupt and dma methods are more efficient in their use of the core processor. interrupts intervene on the core processor infrequently to service input/output data. dma can operate concurrently with the processor core and demands only minimal core resource for setup. dma transfers are recommended when the efcop is in fir/iir filtering mode since the core can operate independently of the efcop while dma transfers data to the fdir and from the fdor. since the efcop input buffer (fdir) is four words deep, the dma can input in blocks of up to four words. a combination of f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 22 examples of use in different modes dma transfer for input and an interrupt request for processing the output is recommended for adaptive fir mode. this combination gives the following benefits: n input data transfers to the fdir can occur independently of the core. n there is minimal intervention of the core while the weight update multiplier is updated. if the initialization mode is enabled (that is, if the fcsr[fprc] bit is cleared), the core can initialize the coefficient bank while the dma controller concurrently transfers initial data values to the data bank. the efcop state machine starts computation as soon as #filter_count data samples are input. if no initialization mode is used (the fcsr[fprc] bit is set), the efcop starts computation as soon as the first data sample is available in the input buffer. the filter coefficient bank must therefore be initialized before an input data transfer starts. the dma input channel can continue transferring data whenever the input fifo becomes empty, while the efcop state machine takes data words from the fifo whenever required. 10.7 examples of use in different modes the following sections provide examples of how to use the efcop in real fir filter (mode 0) and adaptive fir filter mode. 10.7.1 real fir filter: mode 0 in this example, an n tap fir filter is represented as follows: the filter is implemented with three different data transfers using the efcop in data initialization mode: 1. dma input/dma output 2. dma input/polling output 3. dma input/interrupt output this transfer combination is only one of many possible combinations. 1 1.for information on dma transfers, refer to the motorola application note entitled using the dsp56300 direct memory access controller (apr23/d). fn () hi () dn i () ? i 0 n 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 23 10.7.1.1 dma input/dma output a 20-tap fir filter using a 28-input sample signal is implemented in the following stages: setup : 1. set the filter count register (fcnt) to the length of the filter coefficients C1 (i.e n-1). 2. set the data and coefficient base address pointers (fdba, fcba). 3. set the operation mode (fcsr[5:4] = fom[00]). 4. set initialization mode (fcsr[7] = fprc = 0). 5. set dma registers: dma input: a two-dimensional (2d) dma transfer fills up the fdm bank via channel 0. the dma input control registers are initialized as shown in table 10-10 . table 10-10. dma channel 0 regisister initialization register setting description dcr0 bit values are as follows: dma control register 0 die = 0 disables end-of-transfer interrupt. dtm = 2 chooses line transfer triggered by request; de auto clear on end of transfer. dpr = 2 priority 2 dcon = 0 disables continuous mode. drs = $15 chooses dma to trigger on efcop input buffer empty. d3d = 0 chooses non-3d mode. dam = $20 sets the following dma address mode: n source address - 2d n counter mode b n offset dor0 n destination address - no update, no offset dds = 1 destination in y memory space (because the efcop is in y memory). dss = 0 source in x memory space. dor0=1 dma offset register 0 dco0= $006003 dma counter register 0 gives transfer of 7 * 4 = 28 items (input sequence length). dsr0 = address of source data dma source address register 0 ddr0 = $ffffb0 dma destination address register for channel 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 24 examples of use in different modes n dma output: channel 1 is used, with a configuration similar to that of the dma input channel, except for a 1d transfer. the dma output control registers are initialized as shown in table 10-11 . note: setting the dco0 and dco1 must be considered carefully. these registers must be loaded with one less than the number of items to be transferred. also, the following equality must hold: dco1=input length - filter length. 6. initialization: enable dma channel 1 (output) dcr1[23] de=1 enable efcop fcsr[0] fen=1 enable dma channel 0. (input) dcr0[23] de=1 7. processing: whenever the input data buffer (fdir) is empty (that is, fdibe = 1), the efcop triggers dma input to transfer up to four new data words to fdir. compute f(n); the result is stored in fdor, and this triggers the dma for an output data transfer. table 10-11. dma channel 1 register initialization register setting description dcr1 bit values are as follows: dma control register 1 die = 0 disables end-of-transfer interrupt. dtm = 1 chooses word transfer triggered by request, de auto clear on end of transfer. dpr = 3 priority 3. dcon = 0 disables continuous mode. drs = $16 chooses dma to trigger on efcop output buffer full. d3d = 0 chooses non-3d mode. dam = $2c sets the following dma address mode n source address - no update, no offset n destination address - 1d, post-increment by 1, no offset. dds = 0 destination in x memory space. dss = 1 source in y memory space (because efcop is in y memory). dco1 = $12 dma counter register 1 gives transfer of 9 items. dsr1 = address of fdor = $fffffb1 dma source address register 1 ddr1 = address of destination memory space dma destination address register 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 25 note: the filter coefficients are stored in reverse order, as figure 10-9 shows. example 10-1. real fir filter using dma input/dma output include 'ioequ.asm' ;;****************************************************************** ; equates ;;****************************************************************** start equ $00100 ; main program starting address fcon equ $001 ; efcop fscr register contents: ; enable the efcop fir_len equ 20 ; efcop fir length src_addrs equ $3040; ; dma source address point to data bank dst_addrs equ $3000 ; address at which to begin output src_count equ $006003 ; dma0 count (7*4 word transfers) dst_count equ 8 ; number of outputs generated. fdba_addrs equ 0 ; input samples start address x:$0 fcba_addrs equ 0 ; coeff. start address y:$0 ;;****************************************************************** ; main program ;;****************************************************************** org p:start move #fdba_addrs,r0 ; fdm memory area move #0,x0 rep #dst_count move x0,x:(r0)+ ; clear fdm memory area ; ** dma channel 1 initialisation - output from efcop ** movep #m_fdor,x:m_dsr1 ; dma source address points to the efcop fdir movep #dst_addrs,x:m_ddr1 ; init dma destination address. movep #dst_count,x:m_dco1 ; init dma count. movep #$8eb2c1,x:m_dcr1 ; start dma 1 with fdobf request. ; ** efcop initialisation ** movep #fir_len-1,y:m_fcnt ; fir length movep #fdba_addrs,y:m_fdba ; fir input samples start address movep #fcba_addrs,y:m_fcba ; fir coeff. start address movep #fcon,y:m_fcsr ; enable efcop figure 10-9. real fir filter data stream d(0) d(1) d(2) d(3) d(4) d(5) - - h(n - 1) h(n - 2) - - - - h(1) data coefficient f(0) f(1) f(2) f(3) f(4) f(5) - - output data memory bank memory bank (fcm) (fdm) stream h(0) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 26 examples of use in different modes ; ** dma channel 0 initialisation - input to efcop ** movep #src_addrs,x:m_dsr0 ; dma source address points to the data bank. movep #m_fdir,x:m_ddr0 ; init dma destination address. movep #src_count,x:m_dco0 ; init dma count to line mode. movep #$1,x:m_dor0 ; dma offset reg. is 1. movep #$94aa04,x:m_dcr0 ; init dma control reg to line mode fdibe request. nop nop ;;****************************************************************** jclr #0,x:m_dstr,* jclr #1,x:m_dstr,* nop nop stop_label nop jmp stop_label org x:src_addrs include input.asm org y:fcba_addrs include coefs.asm 10.7.1.2 dma input/polling output the different stages of input/polling are as follows: 1. setup: set the filter count register (fcnt) to the length of the filter coefficients C1 (i.e n-1). set the data and coefficient base address pointers (fdba, fcba). set the operation mode (fcsr[5:4] = fom[00],), = 1). set the initialization mode (fcsr[7] = fprc = 0). set dma registers: dma input: as per channel 0 in section 10.7.1.1 2. initialization: enable efcop fcsr[0] fen=1. enable dma input channel, dcr0[23] de=1. 3. processing: whenever the input data buffer (fdir) is empty (that is, fdibe = 1), the efcop triggers dma input to transfer up to four new data words to fdm via fdir. compute f(n); the result is stored in fdor. the core keeps polling the fcsr[fdobf] bit and stores the data in memory. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 27 example 10-2. real fir filtering using dma input/polling output include 'ioequ.asm' ;;****************************************************************** ; equates ;;****************************************************************** start equ $00100 ; main program starting address fcon equ $001 ; efcop fscr register contents: ; enable the efcop fir_len equ 20 ; efcop fir length src_addrs equ $3040 ; dma source address point to data bank dst_addrs equ $3000 ; address at which to begin output src_count equ $006003 ; dma0 count (7*4 word transfers) dst_count equ 8 ; number of outputs generated. fdba_addrs equ 0 ; input samples start address x:$0 fcba_addrs equ 0 ; coeff. start address y:$0 ;;****************************************************************** ; main program ;;****************************************************************** org p:start move #0,b move #0,a move #dst_count,b0 ; counter for output interrupt move #fdba_addrs,r0 ; fdm memory area move #0,x0 rep #dst_count move x0,x:(r0)+ ; clear fdm memory area move #dst_addrs,r0 ; destination address ; ** efcop initialisation ** movep #fir_len-1,y:m_fcnt ; fir length movep #fdba_addrs,y:m_fdba ; fir input samples start address movep #fcba_addrs,y:m_fcba ; fir coeff. start address movep #fcon,y:m_fcsr ; enable efcop ; ** dma channel 0 initialisation - input to efcop ** movep #src_addrs,x:m_dsr0 ; dma source address points to the data bank. movep #m_fdir,x:m_ddr0 ; init dma destination address. movep #src_count,x:m_dco0 ; init dma count to line mode. movep #$1,x:m_dor0 ; dma offset reg. is 1. movep #$94aa04,x:m_dcr0 ; init dma control reg to line mode fdibe request. nop nop ;;****************************************************************** do #dst_count,endd nop jclr #15,y:m_fcsr,* movep y:m_fdor,x:(r0)+ endd nop nop stop_label f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 28 examples of use in different modes nop jmp stop_label org x:src_addrs include input.asm org y:fcba_addrs include coefs.asm 10.7.1.3 dma input/interrupt output the different stages of dma input and interrupt output are as follows: 1. setup: set the filter count register (fcnt) to the length of the filter coefficients C1 (i.e n-1). set the data and coefficient base address pointers (fdba, fcba). set the operation mode (fcsr[5:4] = fom[00],). set initialization mode (fcsr[7] = fprc = 0). set filter data output interrupt enable fscr[11]=fdoie=1. set dma register with dma input as per channel 0 in section 10.7.1.1 . 2. initialization: enable interrupts in the interrupt priority register iprp[10:11]=e0l=11. C enable interrupts in the status register sr[8:9]=00. C enable efcop fcsr[0]=fen=1. C enable the dma input channel, dcr0[23]=de=1. 3. processing: whenever the input data buffer (fdir) is empty (that is, fdibe = 1), the efcop triggers dma, which loads the next input into the fdir. compute f(n); the result is stored in fdor; the core is interrupted when fdobf is set and stores the data in memory. example 10-3. real fir filter dma input/interrupt output include 'ioequ.asm' ;;****************************************************************** ; equates ;;****************************************************************** start equ $00100 ; main program starting address fcon equ $801 ; efcop fscr register contents: ; enable output interrupt ; enable the efcop fir_len equ 20 ; efcop fir length src_addrs equ $3040 ; dma source address point to data bank f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 29 dst_addrs equ $3000 ; address at which to begin output src_count equ $006003 ; dma0 count (7*4 word transfers) dst_count equ 8 ; number of outputs generated. fdba_addrs equ 0 ; input samples start address x:$0 fcba_addrs equ 0 ; coeff. start address y:$0 ;;****************************************************************** org p:$0 jmp start org p:$6a jsr >kdo nop nop ;;****************************************************************** ; main program ;;****************************************************************** org p:start ; ** interrupt initialisation ** bset #10,x:m_iprp ; bset #11,x:m_iprp ; enable efcop interrupts in iprp bclr #8,sr ; bclr #9,sr ; enable interrupts in sr move #0,b move #0,a move #dst_count,b0 ; counter for output interrupt move #fdba_addrs,r0 ; fdm memory area move #0,x0 rep #dst_count move x0,x:(r0)+ ; clear fdm memory area move #dst_addrs,r0 ; destination address ; ** efcop initialisation ** movep #fir_len-1,y:m_fcnt ; fir length movep #fdba_addrs,y:m_fdba ; fir input samples start address movep #fcba_addrs,y:m_fcba ; fir coeff. start address movep #fcon,y:m_fcsr ; enable efcop ; ** dma channel 0 initialisation - input to efcop ** movep #src_addrs,x:m_dsr0 ; dma source address points to the data bank. movep #m_fdir,x:m_ddr0 ; init dma destination address. movep #src_count,x:m_dco0 ; init dma count to line mode. movep #$1,x:m_dor0 ; dma offset reg. is 1. movep #$94aa04,x:m_dcr0 ; init dma control reg to line mode fdibe request. nop nop ;;****************************************************************** wait1 jset #11,y:m_fcsr,* ; wait until fdoie is cleared. do #40,endd nop endd nop nop stop_label nop jmp stop_label f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 30 examples of use in different modes ;;****************************************************************** kdo ; interrupt handler for efcop output movep y:m_fdor,x:(r0)+ ; get y(k) from fdor ; store in destination memory space. nop dec b jne cont nop bclr #11,y:m_fcsr ; disable output interrupt cont rti nop nop nop org x:src_addrs include input.asm org y:fcba_addrs include coefs.asm 10.7.2 real fir filter with decimation by m an n tap real fir filter with decimation by m of a sequence of real numbers is represented by, a dma data transfer occurs in the following stages for both input and output.the stages are the similar to the ones described in section 10.7.1.1 . the difference is: set fdch[11:8] = fdcm =m. processing: 1. whenever the input data buffer (fdir) is empty (that is, fdibe = 1), the efcop triggers dma input to transfer up to four new data words to fdm via fdir. 2. compute f(n); the result is stored in fdor; the efcop triggers dma output for an output data transfer. 3. repeat m times: { get new data word; efcop increments data memory pointer. } fn m () hi () dn i () ? i 0 n 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 31 10.7.3 adaptive fir filter an adaptive fir filter is represented in figure 10-11 . the goal of the fir filter is to adjust the filter coefficients so that the output, f(n), becomes as close as possible to the desired signal, r(n)that is, e(n) -> 0. figure 10-11. adaptive fir filter the adaptive fir filter typically comprises four stages, which are performed for each input sample at time n: n stage 1. the fir filter output value is calculated for the efcop fir session according to this equation: where h n (i) are the filter coefficients at time n, d(n) is the input signal and f(n) is the filter output at time n. this stage requires n mac operations, calculated by the efcop fmac unit. figure 10-10. real fir filter data stream with decimation by m d(0) d(1) d(2) d(3) d(4) d(5) - - h(n - 1) h(n - 2) - - - - h(1) data coefficient f(0) f(m) f(2m) f(3m) f(4m) - - - output data memory bank memory bank (fcm) (fdm) stream h(0) fir filter adaptive d(n) f(n) e(n) filter update r(n) fn () h n i () dn i () i 0 n 1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 32 examples of use in different modes n stage 2. the core calculates the error signal, e(n), in software according to the following equation: where r(n) is the desired signal at time n. this stage requires a single arithmetic operation. n stage 3. the core calculates the weight multiplier, ke(n), in software according to the following equation: where k is the convergence factor of the algorithm. after calculating the weight multiplier, k e , the core must write it into the fkir. n stage 4. the coefficients are updated by the efcop update session: where h n+1 (i) are the adaptive filter coefficients at time n+1, k e (n) is the weight multiplier at time n, and d(n) is the input signal. this stage starts immediately after k e (n) is written in the fkir (if adaptive mode is enabled). en () rn () fn () k e (n) = k * e(n) h n 1  i () h n i () k e dn i ()  f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 33 10.7.3.1 implementation using polling figure 10-12 shows a flowchart for an adaptive fir filter that uses polling to transfer data. figure 10-12. adaptive fir filter using polling set fcnt=n-1 set fdba, fcba enable efcop start (adp) real fir mode output buffer write k e to fkir set fupd = 1 end read y(n) block full? write next x(n) done? yes no yes no calculate k e (opt.) automatically done in adp mode f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 34 examples of use in different modes 10.7.3.2 implementation using dma input and interrupt output figure 10-13 shows a flowchart for an adaptive fir filter that uses dma and an interrupt to transfer data. figure 10-13. adaptive fir filter using dma input and interrupt output 10.7.3.3 updating an fir filter the following example shows an fir adaptive filter that is updated using the lms algorithm. example 10-4. fir adaptive filter update using the lms algorithm title 'adaptive' include 'ioequ.asm' ;;************************************************************************************** ; equates ;;************************************************************************************** start equ $00100 ; main program starting address fcon equ $805 ; efcop fscr register contents: ; enable output interrupt ; choose adaptive real fir mode ; enable the efcop fir_len equ 20 ; efcop fir length set fcnt=l-1 set fdba, fcba enable efcop start adp real fir mode output buffer write k e to fkir set fupd = 1 read y(n) calculate k e full interrupt rti set dma/int for input on fdibe end block ye s no done? (opt.) automatically done in adp mode f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
examples of use in different modes motorola enhanced filter coprocessor (efcop) 10- 35 des_addrs equ $3200 ; desired signal r(n) src_addrs equ $3100 ; reference signal d(n) dst_addrs equ $3000 ; address at which to begin output (signal f(n)) src_count equ $06003 ; dma0 count (7*4 word transfers) dst_count equ 8 ; number of outputs generated. mu2 equ $100000 ; stepsize mu = 0.0625 (that is 2mu = 0.125) fdba_addrs equ 0 ; input samples start address x:$0 fcba_addrs equ 0 ; coeff. start address y:$0 ;;************************************************************************************** org p:$0 jmp start org p:$6a jsr >kdo nop nop ;;************************************************************************************** ; main program ;;************************************************************************************** org p:start ; ** interrupt initialisation ** bset #10,x:m_iprp ; bset #11,x:m_iprp ; enable efcop interrupts in iprp bclr #8,sr ; bclr #9,sr ; enable interrupts in sr move #0,b move #0,a move #dst_count,b0 ; counter for output interrupt ; ** fdm memory initialisation ** move #fdba_addrs,r0 ; fdm memory area move #0,x0 rep #fir_len move x0,x:(r0)+ ; clear fdm memory area ; ** address register initialisation ** move #dst_addrs,r0 ; destination address move #des_addrs,r1 ; desired signal address rep #fir_len-1 move (r1)+ ; set reference pointer correctly ; ** efcop initialisation ** movep #fir_len-1,y:m_fcnt ; fir length movep #fdba_addrs,y:m_fdba ; fir input samples start address movep #fcba_addrs,y:m_fcba ; fir coeff. start address f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 36 examples of use in different modes movep #fcon,y:m_fcsr ; enable efcop ; ** dma channel 0 initialisation - input to efcop ** movep #src_addrs,x:m_dsr0 ; dma source address points to the data bank. movep #m_fdir,x:m_ddr0 ; init dma destination address. movep #src_count,x:m_dco0 ; init dma count to line mode. movep #$1,x:m_dor0 ; dma offset reg. is 1. movep #$94aa04,x:m_dcr0 ; init dma control reg to line mode fdibe request. nop nop ;;****************************************************************** wait1 jset #11,y:m_fcsr,* ; wait until fdoie is cleared. do #40,endd nop endd nop nop stop_label nop jmp stop_label ;;****************************************************************** kdo ; interrupt handler for efcop output movep y:m_fdor,x:(r0) ; get f(n) from fdor ; store in destination memory space. ;******* calculate ke ********* move x:(r1)+,a ; retrieve desired value r(n) move x:(r0)+,y0 ; sub y0,a ; calculate e(n) = r(n) - f(n) move #mu2,y0 ; move a,y1 ; mpy y0,y1,a ; calculate ke = mu * 2 * e(n) ;****************************** movep a1,y:m_fkir ; store ke in fkir dec b jne cont nop bclr #11,y:m_fcsr ; disable output interrupt cont rti nop nop nop f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
verification for all exercises motorola enhanced filter coprocessor (efcop) 10- 37 ;;****************************************************************** ;;****************************************************************** org y:fcba_addrs dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 dc $000000 org x:src_addrs include 'input.asm'; reference signal d(n) org x:des_addrs include 'desired.asm'; desired signal r(n) 10.8 verification for all exercises 10.8.1 input sequence (input.asm) dc $000000 dc $37cc8a dc $343fae dc $0b63b1 dc $0595b4 dc $38f46e dc $6a4ea2 dc $5e8562 dc $2beda5 dc $1b3cd0 dc $42f452 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 38 verification for all exercises dc $684ca0 dc $5093b0 dc $128ab8 dc $f74ee1 dc $15c13a dc $336e48 dc $15e98e dc $d428d2 dc $b76af5 dc $d69eb3 dc $f749b6 dc $dee460 dc $a43601 dc $903d59 dc $b9999a dc $e5744e 10.8.2 filter coefficients (coefs.asm) dc $f8125c dc $f77839 dc $f4e9ee dc $f29373 dc $f2dc9a dc $f51d6e dc $f688ce dc $f6087e dc $f5b5d3 dc $f7e65e dc $fbe0f8 dc $fec8b7 dc $ff79f5 dc $000342 dc $02b24f dc $06c977 dc $096add dc $097556 dc $08fd54 dc $0a59a5 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
verification for all exercises motorola enhanced filter coprocessor (efcop) 10- 39 10.8.3 output sequence for examples d-1, d-2, and d-3 $d69ea9 $ccae36 $c48f2a $be8b28 $bad8c5 $b9998c $bad8cb $be8b2d $c7b906 10.8.4 desired signal for example d-4 dc $000000 dc $0d310f dc $19ea7c dc $25b8e2 dc $30312e dc $38f46d dc $3fb327 dc $443031 dc $4642d6 dc $45d849 dc $42f452 dc $3db126 dc $363e7f dc $2cdfe8 dc $21ea5b dc $15c13a dc $08d2ce dc $fb945d dc $ee7e02 dc $e2066f dc $d69eb2 dc $ccae3c dc $c48f2f dc $be8b32 dc $bad8d3 dc $b99999 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual 10- 40 verification for all exercises dc $bad8d3 dc $be8b32 10.8.5 output sequence for example d-4 $000000 $f44c4c $ee54b3 $e7cd6b $daed26 $cc1071 $c7db1c $cdfe45 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
0rwrurod %rrwvwuds3urjudp $  $sshqgl[$ %rrwvwuds3urjudp 7klvdsshqgl[olvwvwkherrwvwudssurjudpiruwkh'630rwrurodsrvwvxsgdwhvwr wkherrwvwudssurjudprqwkh:ruogzlgh:hedwwkhiroorzlqj85/ kwwszzzpr wfrp636'63vriwzduhrwkhukwpo $ %rrwvwuds&rgh %227675$3&2'()25'63 & &rs\ul jkw0rwrurod,qf 5hylvhg0dufk  %rrwvwudswku rxjkwkh+rvw,qwhuidfh([whuqdo(3520ru6&,  7klvlvwkh%rrwvwuds surjudpfrqwdlqhglqwkh'63zrug %rrw 5207klvsurjudpfdqordgdq\surju dp5$0vhjphqwiurpdqh[whuqdo (3520iurpwkh+rvw,qwhuidfhruiurpwkh6&,vhuldolqwhuidfh    ,i0'0&0%0$ [wkhqwkh %rrw520lve\sdvvhgdqgwkh '63 vwduwvihwfklqjlqvwuxfwlrqvehjlq qlqjzlwkdgg uhvv& 0'  ru 0'  dvv xplqjwkdwdqh[whuqdophpru\ri65$0w\shlv xvhg7khdffhvvhvduhshuiruphgxvlqjzdlwvwdwhvzlwkqr dgguhvvdwwulexwhvvhohfwhg ghidxowduhd     2shudwlrqprghv0'0&0%0$  duhuhvhuyhg    ,i0'0&0%0$  wkhqlwordgvdsurjudp 5$0vhjphqwiurpfrqvhfxwlyh e\whzlgh3phpru\orfdwlrqvvwduwlqjdw3 ' elwv  7khphpru\lvvhohfwhge\wkh$gg uhvv $wwulexwh$$dqglvdffhvvhgzlwk zdlwvwdwhv 7kh(3520errwvwudsf rghh[shfwvwruhdge\whv vshfli\lqjwkhqxpehurisurjudpzrugve\whvvshfli\ lqjwkhdgguhvv wrvwduwordglqjwkh surju dpzrugvdqgwkhq e\whviruhdfksurjudp zrugwrehordghg7khqxpehurizrugvwkhvwduwlqjdgguh vvdqgwkh surjudpzrugvduhuhdgohdvwv ljqlilfdqwe\whi luvwiro orzhge\wkh plgdqgwkhqe\wkhprvwvljqlilfdqwe\wh 7khsurjudpzrugvduhfrqghqvhglqwrelwzrugvdqgvwruhglq frqwljxrxv35$0phpru\orfdwlrq vvwduwlqjdwwkhvshflilhgvwduwlqj dgguhvv f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod %rrwvwuds&rgh $iwhuwkhsurjudpzrugvduhuhdgsurjudph[hfxwlrqvwd uwviurpwkhvdph dgguhvvzkhuhordglqjvwduwhg    ,i0'0&0%0$  w khqwkh surjudp5$0lvordghgiurpwkh6&,lqwhuidfh 7khqxpehurisurjudpzrugvwrehordghgdqgwkhvwduwlqj dgguhvvpxvw ehvshflilhg7kh6&,errwvwudsfrghh[shfwvwruhfhlyhe\whv vshfli\l qjwkhqxp ehurisurjudpzrugve\whvvshfli\lqjwkh dgguhvv wrvwduwordglqjwkh surjudpzrugvdqgwkhq e\whv iruhdfk surjudp zrugwrehordghg7khqxpehurizrugvwkhvwduwlqjdgguh vvdqgwkh surjudpzrugvduhuhfhlyhgohdvwvljqlilfdqwe\whiluvwiroorzhge\wkh plgdqgwkhqe\wkhprvwvljqlilfdqwe\wh$iw huwkh surjudpzrugvduhuhfhlyhgsurjudph[hfxwlrqvwduwvlqwkhvdphdgguhvvzkhuh ordglqjvwduwhg7kh6&,lvsurjudpphgwrzrunlqdv\qfkurqrxv prgh zlwkgdwdelwvvwrselwd qgqrsdulw\7khforfnvrxufhlv h[whuqdodqgwkhforfniuhtxhqf\pxvw eh[wkhedxgudwh $iwhuhdfke\whlvuhfhlyhglwlvhfkrhgedfnwku rxjkwkh6&, wudqvplwwhu    2shudwlr qprgh0'0&0%0$ lv uhvhuyhg    ,i0'0&0%0$  wkhqwkhsurjudp 5$0lvordghgiurpwkh+rvw ,qwhuidfhsurju dpphgwrr shudwhlqwkh,6 $prgh 7kh+267,6$errwvwudsfrghh[shfwvwruhdgdelw zrug vshfli\l qjwkhqxp ehurisurjudpzrugvdelwzrugvshfli\lqjwkhdgguhvv wrvwduwordglqjwkh surjudpzrugvdqgwkhqdelwzrugiruhdfk surjudp zrugwrehordghg7kh surju dpzrugvduhvwruhglq frqwljxrxv35$0phpru\orfdwlrq vvwduwlqjdwwkhvshflilhgvwduwlqjdgguhvv $iwhuwkhsurjudpzrugvduhuhdgsurjudph[hfxwlrqvwd uwviurpwkhvdph dgguhvvzkhuhordglqjvwduwhg 7kh+rvw,qwhuidfherrwvw udsordgsurjudpfdqehvwrsshge\ vhwwlqjwkh+rvw)odj  +) 7klvvwduwvh[hfxwlrqriwkhordghg surjudpiurpwkhvshflilhgvwduwlqjdgguhvv    ,i0'0&0%0$  wkhqwkhsurjudp 5$0lvordghgiurpwkh+rvw ,qwhuidfhsurju dpphgwrr shudwhlqwkh+& qrqpxowlsoh[hgprgh  7kh+267+&errwvwudsfrghh[shfwvwruhdgdelwzrug vshfli\l qjwkhqxp ehurisurjudpzrugvdelwzrugvshfli\lqjwkhdgguhvv wrvwduwordglqjwkh surjudpzrugvdqgwkhqdelwzrugiruhdfk surjudp zrugwrehordghg7kh surju dpzrugvlvvwruhglq frqwljxrxv35$0phpru\orfdwlrq vvwduwlqjdwwkhvshflilhgvwduwlqjdgguhvv $iwhuwkhsurjudpzrugvduhuhdgsurjudph[hfxwlrqvwd uwviurpwkhvdph dgguhvvzkhuhordglqjvwduwhg 7kh+rvw,qwhuidfherrwvw udsordgsurjudpfdqehvwrsshge\ vhwwlqjwkh+rvw)odj  +) 7klvvwduwvh[hfxwlrqriwkhordghg surjudpiurpwkhvshflilhgvwduwlqjdgguhvv f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
%rrwvwuds&rgh 0rwrurod %rrwvwuds3urjudp $     ,i0'0&0%0$ wkhqwkhsurjudp5$0lvordghgiurpwkh+rvw ,qwhuidfhsurjudpphgwrrshudwhlqwkhpxowlsoh[hgexv prgh lqgrxeohvwurehslqfrqiljxudwlrq 7kh+267errwvwuds frghh[shfwvdffhvvhvwkdwduhe\whzlgh 7kh+267errwvwuds frghh[shfwvwruhdge\whviru plqjdelwzrug vshfli\ lqjwkhqxpehuri surjudpzrugve\whviruplqjdelwzrug vshfli\ lqjwkhdgguhvvwrvwduwordglqjwkh surju dpzrugvdqgwkhq e\whv iruplqjelwzrugviruhdfksurjud pzrugwr ehordghg 7khsurjudpzrugvduhvwruhglqfrqwljxrxv35$0phpru\orfdwlrqv vwduwlqjdwwkhvshflilhgvwduwlqjdgguhvv $iwhuwkhsurjudpzrugvduhuhdgsurju dph[hfxwlrqvwduwviurpwkhvdph dgguhvvzkhuhordglqjvwduwhg 7kh+rvw,qwhuidfherrwvwudsordgsurju dpfdq ehvwrsshge\vhwwlqjwkh +rvw)odj +) 7klvvwduwvh[hfxwl rqriwkhordghg surjudpiurp wkhvshflilhgvwduwlqjdgguhvv  7khedvhdgguhvvriwkh+,lqpxowlsoh[h gprghlv[ dqglvqrw prglilhge\wkherrwvw udsfrgh$oowkhdgguhvvolqhvduhhqdeohg dqgvkrxogehf rqqhfwhgdffruglqjo\   ,i0'0&0%0$ wkhqwkh surju dp5$0lvordghgiurpwkh+rvw ,qwhuidfhsurjudpphgwrrshudwhlqwkh0& ,03 exvprgh lqvlqjohvwurehslqfrqiljxudwlrq 7kh+2670&e rrwvwudsfrghh[shfwvdffhvvhvwkdwduhe\wh zlgh 7kh+2670&e rrwvwudsfrghh[shfwvwruhdge\whviruplqjdelwzrug vshfli\ lqjwkhqxpehuri surjudpzrugve\whviruplqjdelwzrug vshfli\ lqjwkhdgguhvvwrvwduwordglqjwkh surju dpzrugvdqgwkhq e\whv iruplqjelwzrugviruhdfksurjud pzrugwr ehordghg 7khsurjudpzrugvduhvwruhglqfrqwljxrxv35$0phpru\orfdwlrqv vwduwlqjdwwkhvshflilhgvwduwlqjdgguhvv $iwhuwkhsurjudpzrugvduhuhdgsurju dph[hfxwlrqvwduwviurpwkhvdph dgguhvvzkhuhordglqjvwduwhg 7kh+rvw,qwhuidfherrwvwudsordgsurju dpfdq ehvwrsshge\vhwwlqjwkh +rvw)odj +) 7klvvwduwvh[hfxwl rqriwkhordghg surjudpiurp wkhvshflilhgvwduwlqjdgguhvv  sdjh rswph[  *(1(5$/(48$7(6  %227htx'wklvlvwkhorfdwlrqlq3 phpru\ rqwkhh[whuqdophpru\exv zkhuhwkhh[whuqdoe\whzlgh (3520zrxogehorfdwhg $$59htx' $$5vhohfwvwkh(3520dv&(a pdsshgdv3iurp'wr f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod %rrwvwuds&rgh ')))))dfwlyhorz  '63,2 5(*,67(56   0b665(48))))6&,6wdwxv5hjlvwhu 0b67;/(48 ))))6&,7udqvplw'dwd5hjlvwhu orz 0b65;/(48))))6&,5hfhlyh'dwd5hjlvwhu orz 0b6&&5(48))))%6&, &orfn&rqwuro5hjlvwhu 0b6&5(48 ))))&6&,&rqwuro5hjlvwhu 0b3&5((48 )))))3ruw(&rqwurouhjlvwhu 0b$$5(48) ))))$gguhvv$ww ulexwh5hjlvwhu 0b+3&5(48 ))))&+rvw3rodulw\&rqwuro5hjlvwhu 0b+65(48))))&+rvw6wdwxv5hjlvwhu 0b+5;(48))))&+rvw5hfhlyh5hjlvwhu +5')(48+rvw5hfhlyh'dwd )xoo +)(48 +rvw)odj +(1(48+rvw(qdeoh    25*3/ii3/iierrwvwudsfrghvwduwvdwii  67$57 foudufohduddqglqlw5 zlwk mfourpu205;; ; ,i0'0&0%0$ [[[jrwr205 ;;; mfourpu(356&,/',i0'0&0%0$ [[jrordgiurp(35206&, mfourpu205,6,)0'0&0%0$ [jrwrorrniru,6$+& mfourpu, +267/',i0' 0&0%0$  jrordgiurp+rvw ,i0'0&0%0$  jrordgiurp0& +rvw   7klvurxwlqhordgvdsurjudpwkurxjkwkh+ ,krvwsruw 7khsurjudplvgrzqordghgiurpwkhkrvw0&8zlwkwkhiroorzlqjuxohv  e\whv'hilqhwkhsurjudpohqjwk  e\whv'hilqhwkhdgguhvvw rzklfkwrvwduwordglqjwk hsurjudp  qe\whv zklohqlvdq\lqwhjhuqxpehu 7khsurjudpzrugvlvvwurehglqfrqwljxrxv3 5$0phpru\orfdwlrq vvwduwlqj dwwkhvshflilhgvwduwlqjdgguhvv $iwhuwkhsurjudpzrugvduhuhdgsurjudph[hfxwlrqvwd uwviurpwkhvdph dgguhvvzkhuhordglqjvwduwhg 7khkrvw0&8fdqwhuplqdwhwkhordglqj surfhvve\vhwwlqjwkh +) dqg+)  :khqwkhgrzqordglqjlvwhuplqdwhgwkh surju dpvwduwvh[hfxwlqjwkh ordghgsurju dpiurpwkh vshflilhgvwduwlqjdgguhvv 7kh+,errw520surjudphqdeohvwkhiroorzlqjexvhvwrgrzqordg surjudpv wkurxjkwkh+,sruw  ,6$'xdovwureh qrqpxowlsoh[hgexvzlwkqhjdwlyhvwureh sxovhvgxdosrvlwlyhuhtxhvw +&6lqjohvwurehqrqpxowlsoh[hgexvzlwksrvlwlyhvwureh sxovhvlqjohqhjdwlyhuhtxhvw l'xdovwureh pxowlsoh[hgexvzlwkqhjdwlyh vwurehsxovhv gxdoqhjdwlyh uhtxhvw f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
%rrwvwuds&rgh 0rwrurod %rrwvwuds3urjudp $  0&6lqjohvwureh qrqpxowlsoh[hgexvzlwkqhjdwlyhvw ureh sxovhvlqjohqhjdwlyhuhtxhvw   0&+267/' pryhs[0b+3&5 &rqiljx uhwkhiroorzlqjfrqglwlrqv +$3 1hjdwlyhkrvwdfnqrzohgjh +53 1hjdwlyhkrvwuhtxhvw +&63 1hjdwlyhfklsvhohfwlqsxw +'+6 6lqjoh vwurehexv 5:a dqg'6 +08; 1rqpxowlsoh[hgexv +$63  dgguhvvvwurehsrodulw\kdvqr phdqlqjlqqrqpxowlsoh[hgexv +'63 1hjdwlyhgdwdvwurehvsrodulw\ +52' +rvwuhtxhvwlvdfwlyhzkhqhqdeohg vsduh 7klvelwvk rxog ehvhwwriru ixwxuhfrpsdwdelolw\ +(1 :khqwkh+3&5uhjlvwhulvprglilhg +(1vkrxog ehfohduhg +$(1 +rvwdfnqrzohgjhlvhq deohg +5(1 +rvwuhtxhvwvduhhqdeohg +&6(1 +rvwfklsvhohfwlqsxwhqdeohg +$(1  dgguhvvhqdeohelwkdvqr phdqlqjlqqrqpxowlsoh[hgexv +$(1  dgguhvvhqdeohelwkdvqr phdqlqjlqqrqpxowlsoh[hgexv +*(1 +rvw*3,2slqvduhglvdeohg eud+,&217 205,6 mvhwrpu+&+267/',i0' 0&0%0$ jrordgiurp+&+rvw ,i0'0&0%0$  jrordgiurp,6$+267 ,6$+267/' pryhs [0b+3&5 &rqiljx uhwkhiroorzlqjfrqglwlrqv +$3 1hjdwlyhkrvwdfnqrzohgjh +53 3rvlwlyhkrvwuhtxhvw +&63 1hjdwlyhfklsvhohfwlqsxw +'+6 'xdovwurehvexv 5'dqg:5 +08; 1rqpxowlsoh[hgexv +$63  dgguhvvvwurehsrodulw\kdvqr phdqlqjlqqrqpxowlsoh[hgexv +'63 1hjdwlyhgdwdvwurehvsrodulw\ +52' +rvwuhtxhvwlvdfwlyhzkhqhqdeohg vsduh 7klvelwvk rxog ehvhwwriru ixwxuhfrpsdwdelolw\ +(1 :khqwkh+3&5uhjlvwhulvprglilhg +(1vkrxog ehfohduhg +$(1 +rvwdfnqrzohgjhlvgl vdeohg +5(1 +rvwuhtxhvwvduhhqdeohg +&6(1 +rvwfklsvhohfwlqsxwhqdeohg +$(1  dgguhvvhqdeohelwkdvqr phdqlqjlqqrqpxowlsoh[hgexv f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod %rrwvwuds&rgh +$(1  dgguhvvhqdeohelwkdvqr phdqlqjqrqpxowlsoh[hgexv +*(1 +rvw*3,2slqvduhglvdeohg eud +,&217 +&+267/' pryhs[0b+3&5 &rqiljxuhwkhiroorzlqjfrqglwlrqv +$3 1hjdwlyhkrvwdfnqrzohgjh +53 1hjdwlyh krvwuhtxhvw +&63 1hjdwlfhfklsvhohfwlqsxw +'+6 6 lqjohvwurehexv 5:adqg'6 +08; 1rqpxowlsoh [hgexv +$63  dgguhvvvwurehsrodulw\kdvqr phdqlqjlqqrqpxowlsoh[hgexv +'63 1hjdwlyhgdwdvwurehvsrodulw\ +52'  +rvwuhtxhvwlvdfwlyhzkhqhqdeohg vsduh 7klvelwv krxogehvhwwriru ixwxuhfrpsdwdelolw\ +(1 :khqwkh+3&5 uhjlvwhulv prglilhg +(1vkrxogehfoh duhg +$(1 +rvwdfnqrzohgjhlvglvdeohg +5(1 +rvwuhtxhvwvduhhqdeohg +&6(1  +rvwfkl svhohfwlqsxwhqdeohg +$(1  dgguhvvhqdeohelwkdvqr phdqlqjlqqrqpxowlsoh[hgexv +$(1  dgguhvvhqdeohelwkdvqr phdqlqjlqqrqpxowlsoh[hgexv +*(1 +rvw*3,2slqvduhglvdeohg eud +,&217 ,+267/' pryhs[0b+3&5 &rqiljxuhwkhiroorzlqjfrqglwlrqv +$3 1hjdwlyhkrvwdfnqrzohgjh +53 1hjdwlyh krvwuhtxhvw +&63 1hjdwlyhfklsvhohfwlqsxw +'+6 'xdovwurehvexv 5' dqg:5 +08; 0xowlsoh [hgexv +$63 3rvlwlyhdgguhvvvwurehsrodulw\ +'63 1hjdwlyhgdwdvwurehvsrodulw\ +52'  +rvwuhtxhvwlvdfwlyhzkhqhqdeohg vsduh 7klvelwv krxogehvhwwriru ixwxuhfrpsdwdelolw\ +(1 :khqwkh+3&5 uhjlvwhulv prglilhg +(1vkrxogehfoh duhg +$(1 +rvwdfnqrzohgjhlvglvdeohg +5(1 +rvwuhtxhvwvduhhqdeohg +&6(1  +rvwfkl svhohfwlqsxwhqdeohg +$(1 (qdeohdgguhvvlqsxw +$(1 (qdeohdgguhvvlqsxw +*(1 +rvw*3,2slqvduhglvdeohg  +,&217 evhw+(1 [0b+3&5(qdeohwkh+, wrrshudwhdvkrvw lqwhuidfh vhw+(1  f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
%rrwvwuds&rgh 0rwrurod %rrwvwuds3urjudp $  mfou+5')[0b+65  zdlwiruwkhsurju dpohqjwkwreh zulwwhq pryhs[0b+5;d mfou+5')[0b+65  zdlwiruwkhsurju dpvwduwlqjdgguhvv wrehzulwwhq pryhs[0b+5;u pryhuu grd+,/223 vhwdorrszlwkwkh grzqordghgohqjwk +,// mvhw+5')[0b+65+,1:,i qhzzrugzdvordghgwkhqmxpswr uhdgwkdwzrug mfou+)[0b+65+,//,i+) w khqfrqwlqxhzlwkwkh grzqordglqj hqggr0xvwwhuplqdwhwkhgrorrs eud+,/223 +,1: pryhs[0b+5;s u   0ryhwkhqhzzruglqwrlwvghvwlqdwlrq orfdwlrqlqwkh surjudp5$0 qrsslsholqhghod\ +,/223 eud),1,6+  (356&,/' mfourpu(3520/',i0' 0&0%0$ jrord giurp(3520 ,i0'0&0%0$  uhvhuyhgghidxowwr6&,  7klvlvwkhurxwlqhwkdwordgviurpwkh6&, 0'0&0%0$  h[whuqdo6&,forfn 6&,/' pryhs;0b6&5 &rqiljxuh6&,&rqwuro5hj pryhs&;0b6&&5&rqiljxuh6&,&o rfn&rqwuro5hj pryhs;0b3&5(&rqiljxuh6&/.7;'dqg5;' grb/223jhwe\whv iruqxpehuri surjudpzrugvdqge\whv iruwkhvwduwlqjdgguhvv mfou;0b665 :dlwiru5'5)wrjrkljk pryhs;0b65;/$3xwelwvlq$ mfou;0b665 :dlwiru7'5(wrjrkljk pryhs$;0b67;/hfkrwkhuhfhlyhge\wh dvudd b/223 pryhduvwduwlqjdgguhvviruordg pryhduvdyhvwduwlqjdgguhvv  grdb/2235hfhlyhsurjudpzrugv grb/223 mfou;0b665 :dlwiru5'5)wrjrkljk pryhs;0b65;/$3xwelwvlq$ mfou;0b665 :dlwiru7'5(wrjrkljk pryhsd;0b67;/hfkrwkhuhfhlyhge\wh dvudd f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod %rrwvwuds&rgh b/223 pryhpd s u 6wruhelwuhvxowlq3php qrsslsholqhghod\ b/223 eud),1,6+% rrwiurp6&,grqh   7klvlvwkhurxwlqhwkdwordgviurph[whuqdo(3520 0'0&0%0$  (3520/' pryh%227 uu dgguhvvrih[whuqdo(3520 pryhs$$59;0b$$5d dufrqiljxuhgiru6 5$0w\ shvridffhvv grb/223uhdg qxpehurizrugvdqgvwduwlqjdgguhvv pryhps u  d*hwwkh/6%iu rph[w3php dvudd6kliwelwgdwdl qwr$ b/223 pryhduvwduwlqjdgguhvviruordg pryhduvdyhlwlqu dkrogvwkhqxpehurizrugv grdb/223uhdgsurjudpzrugv grb/223(dfklqvwuxfwlrqkdve\whv pryhps u  d*hwwkh/6%iu rph[w3php dvudd6kliwelwgdwdl qwr$ b/223*rjhwdq rwkhue\wh pryhpd s u 6wruhelwuhvxowlq3php qrsslsholqhghod\ b/223dqgj rjhwdqrwk huelwzrug %rrwiurp(3520grqh  ),1,6+ 7klvlvwkhh[lwkdqgohuwkdwuhwxuqvh[hfxwlrqwrqrupdo h[sdqghgprghdqgmxp svwrwkh5(6(7yhfwru  dqglffu&ohdu &&5dvli5(6(7wr mps u 7khqjrwrvwduwlqj3urj dggu    7khiroorzlqjprghvduhuhvhuyhgvrphrizklfkduhxvhgirulqwhuqdowhvwlqj &dqehlpso hphqwhglqixwxuh  205;;; mfourpu5(6(59( '0' 0&0%0$ [[l vuhvhuyhg mfourpu5(6(59( '0' 0&0%0$ [lvuhvhuyhg mfourpu5(6(59( '0' 0&0%0$  lvuhvhuyhg 0'0&0%0$ lvuhvhuyhg 5(6(59(' eud hqg f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuqdo,2(txdwhv 0rwrurod %rrwvwuds3urjudp $  $ ,qwhuqdo,2(txdwhv   (48$7(6iru'63,2uhjlvwhuvdqgsruwv  /dvwxsgdwh)heuxdu\   sdjh  rsw ph[ lrhtxlghqw    (48$7(6iru,23ruw3urjudpplqj   5hjlvwhu$gguhvvhv 0b+''5(48 ))))&+rvwsruw*3,2gluhfwlrq5hjlvwhu 0b+'5(48 ))))&+rvwsruw*3,2gdwd5hjlvwhu 0b3&5&(48))))%)3ruw& &rqwuro5hjlvwhu 0b355&(48))))%(3ruw&'luhfwlrq5hjlvwhu 0b3'5&(48) )))%' 3ruw &*3, 2'dwd5hjlvwhu 0b3&5'(48)))) $)3ruw'&rqwurouhjlvwhu 0b355'(48))))$(3ruw''luhfw lrq'dwd5hjlvwhu 0b3'5'(48 ))))$'3ruw'*3,2'dwd5hjlvwhu 0b3&5((48 )))))3ruw(&rqwurouhjlvwhu 0b355((48 ))))(3ruw('l uhfwlrq5hjlvwhu 0b3'5((48 ))))'3ruw( 'dwd5hjlvwhu 0b2*'%(48 )))))&2q&(*'%5hjlvwhu   (48$7(6iru+rvw,qwhuidfh   5hjlvwhu$gguhvvhv  0b+&5(48 ))))&+rvw&rqwuro5hjlvwhu 0b+65(48 ))))&+rvw 6wdwxv5hjlvwhu 0b+3&5(48) )))&  +rvw3rodulw\&rqwuro5hjlvwhu 0b+%$5 (48)) ))&+rvw%dvh$gg uhvv5hjlvwhu 0b+5;(48 ))))&+rvw5hfhlyh5hjlvwhu 0b+7;(48 ))))&+rvw7udqvplw5hjlvwhu +&5elwvghilqlwlrq f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuqdo,2(txdwhv 0b+5,((48+rvw5hfhlyhlqwhuuxswv(qdeoh 0b+7,((48+rvw7udq vplw,qw huuxsw(qdeoh 0b+&,((48+rvw&rppd qg,qw huuxsw(qdeoh 0b+)(48 +rvw)odj 0b+)(48 +rvw)odj +65elwvghilqlwlrq 0b+5')(48+rvw5hfhlyh'dwd )xoo 0b+7'((48+rvw5hfhlyh'dwd(psw\ 0b+&3(48 +rvw&rppdqg3hqglqj 0b+)(48 +rvw)odj 0b+)(48 +rvw)odj +3&5elwvghilqlwlrq 0b+*(1(48+rvw3ruw*3,2(qdeoh 0b+$(1(48+rvw$gguhvv(qdeoh 0b+$(1(48+rvw$gguhvv(qdeoh 0b+&6(1(48 +rvw&kl s6hohfw(qdeoh 0b+5(1(48 +rvw5htxhvw(qdeoh 0b+$(1(48+rvw$fn qrzohgjh(qdeoh 0b+(1(48+rvw(qdeoh 0b+2'(48+rvw5htxhvw2shq'udlqprgh 0b+'63(48 +rvw'dwd6wureh3rodulw\ 0b+$63(48$+rvw $gguhvv6wureh3rodulw\ 0b+08;(48%+rvw0xowlsoh[hgexvvhohfw 0b+'b+6(48&+rvw'rxeoh6 lqjoh 6wurehvhohfw 0b+&63(48' +rvw&kls6hohfw3rodulw\ 0b+53(48(+rvw5htxhvw3rodulw\ 0b+$3(48)+rvw$fnqrzohgjh3rodulw\   (48$7(6iru 6huldo &rppxqlfdwlrqv,qwhuidfh 6&,   5hjlvwhu$gguhvvhv 0b67;+(48 ))))6&,7udqvplw'dwd5hjlvwhu kljk 0b67;0(48 ))))6&,7udqvplw'dwd5hjlvwhu plggoh 0b67;/(48))))6&,7udqvplw'dwd5hjlvwhu orz 0b65;+(48))))$6&,5hfhlyh'dwd5hjlvwhu kljk 0b65;0(48))))6&,5hfhlyh'dwd5hjlvwhu plggoh 0b65;/(48 )))) 6&,5hfhlyh'dwd5hjlvwhu orz 0b67;$(48 ))))6&,7udqvplw$gguhvv5hjlvwhu 0b6&5(48))))&6&, &rqwuro5hjlvwhu 0b665(48 )))) 6&,6wdwxv5hjlvwhu 0b6&&5(48 ))))%6&,&orfn&rqwuro5hjlvwhu 6&,&rqwuro5hjlvwhu%lw)odjv 0b:'6(48:rug6hohfw0dvn :'6:'6 0b:'6(48:rug6hohfw f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuqdo,2(txdwhv 0rwrurod %rrwvwuds3urjudp $  0b:'6(48:rug6hohfw 0b:'6(48:rug6hohfw 0b66)7'(486 &,6kliw'luhfwlrq 0b6%.(486hqg%uhdn 0b:$.((48:d nhxs0rgh6hohfw 0b5:8(485hfhlyhu:dnhxs(qdeoh 0b:206(48:luhg25 0rgh6hohfw 0b6&5((486&,5hfhlyhu(qdeoh 0b6&7((486&,7udqvplwwhu(qdeoh 0b,/,((48,goh/lqh,qwhuuxsw(qdeoh 0b6&5,((486&,5hfhlyh,qwhuuxsw(qdeoh 0b6&7,((486&,7udqv plw,qwhuuxsw(qdeoh 0b70,((487lphu,qwhuuxsw(qdeoh 0b7,5(487lphu ,qwhuuxsw5dwh 0b6&.3(486 &,&orfn3rodulw\ 0b5(,((486&,(uuru,qwhuuxsw(qdeoh 5(,( 6&,6wdwxv5hjlvwhu%lw)odjv 0b751((487udqvplwwhu(psw\ 0b7'5((487udqvplw'dwd5hjlvwhu(psw\ 0b5'5)(485hfhlyh'dwd5hjlvwhu )xoo 0b,'/((48,goh/lqh)odj 0b25(482yhuuxq(uuru )odj 0b3((483dulw\(uuru 0b)((48)u dplqj (uuru)odj 0b5(485hfhlyhg%lw 5 $gguhvv 6&,&orfn&rqwuro5hjlvwhu 0b&'(48)))&orfn'lylghu0dvn &'&' 0b&2'(48 &orfn2xw'lylghu 0b6&3(48&orfn3uhvfdohu 0b5&0(485hfhlyh&orf n0rgh6rxufh%lw 0b7&0(487udqvplw&o rfn6rxufh%lw   (48$7(6iru6\qfkurqrxv6huldo ,qwhuidfh 66,    5hjlvwhu$gguhvvhv2i66, 0b7;(48 ))))%&66,7udqvplw'dwd5hjlvwhu 0b7;(48 ))))%%66,27udqvplw'dwd5hjlvwhu 0b7;(48 ))))%$66,27udqvplw'dwd5hjlvwhu 0b765(48 ))))%66,7lph6orw5hjlvwhu 0b5;(48 ))))%66,5hfhlyh'dwd5hjlvwhu 0b66,65(48 ))))%66,6wdwxv5hjlvwhu 0b&5%(48 ))))%66,&rqwuro5hjlvwhu% 0b&5$(48 ))))% 66, &rqwuro5hjlvwhu$ 0b760$(48 ))))%66,7udqvplw6orw0dvn5hjlvwhu$ 0b760%(48) )))% 66,7udqv plw6orw0dvn5hjlvwhu% f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuqdo,2(txdwhv 0b560$(48 ))))%66,5hfhlyh6orw0dvn5hjlvwhu$ 0b560%(48)) ))%66,5hfhlyh6orw0dvn5hjlvwhu% 5hjlvwhu$gguhvvhv2i66, 0b7;(48))))$&66,7udqvplw'dwd5hjlvwhu 0b7;(48 ))))$%66,7udqvplw'dwd5hjlvwhu 0b7;(48))))$$66,7udqvplw'dwd 5hjlvwhu 0b765(48))))$66,7lph6orw5hjlvwhu 0b5;(48))))$66,5hfhlyh'dwd5hjlvwhu 0b66,65(48))))$66,6wdwxv5hjlvwhu 0b&5%(48))))$66,&rqwuro5hjlvwhu% 0b&5$(48 ))))$66,&rqwuro5hjlvwhu$ 0b760$(48))))$66,7udqvplw6orw0dvn5hjlvwhu$ 0b760%(48 ))))$ 66,7udqvplw6orw0dvn5hjlvwhu% 0b560$(48 ))))$66,5hfhlyh6orw0dvn5hjlvw hu$ 0b560%(48))))$66,5hfhlyh6orw0dvn5hjlvwhu% 66,&rqwuro5hjlvwhu$%lw)odjv 0b30(48 ))  3uhvfdoh 0rgxox v6hohfw0dvn 3030  0b365(483uhvfdohu5dqjh 0b'&(48))u dph5dwh'lylghu&rqwuro0dvn  '&'& 0b$/&(48 $o ljqphqw&rqwuro $/& 0b:/(48:rug/hqjwk& rqwuro0dvn :/:/ 0b66&(48 6hohfw6&dv75gulyhhqdeoh 66& 66,&rqwuro5hjlvwhu%%lw)odjv 0b2)(486huldo2xwsxw)odj0dvn 0b2)(486huldo2xwsxw)odj 0b2)(486huldo2xwsxw)odj 0b6&'(48&6huldo &rqwuro'luhfwlrq0dvn 0b6&'(486huldo& rqwuro'luhfwlrq 0b6&'(486huldo& rqwuro'luhfwlrq 0b6&'(486huldo& rqwuro'luhfwlrq 0b6&.'(48 &orfn6rxufh'luhfwlrq 0b6+)'(486kliw'luhfwlrq 0b)6/(48)udph6\qf/hqjw k0dvn )6/)6/ 0b)6/(48)udph6\qf/h qjwk 0b)6/(48)udph6\qf/h qjwk 0b)65(48)udph6\qf5hodwlyh7lplqj 0b)63(48)udph6\qf3rodulw\ 0b&.3(48&orfn3rodulw\ 0b6<1(486\qf$v\qf &rqwuro 0b02'(4866, 0rgh6hohfw 0b667((48&66,7udqvplwhqdeoh0dvn 0b667((4866,7udqvplw(qdeoh 0b667((4866,7udqvplw(qdeoh 0b667((4866,7udqvplw(qdeoh 0b665((4866,5hfhlyh(qdeoh 0b667,((4866,7udqvplw ,qwhuuxsw(qdeoh 0b665,((4866,5hfhlyh ,qwhuuxsw(qdeoh 0b67/,((4866,7udq vplw/dvw6orw,qw huuxsw(qdeoh 0b65/,((4866,5hfhlyh/dvw6orw ,qwhuuxsw(qdeoh f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuqdo,2(txdwhv 0rwrurod %rrwvwuds3urjudp $  0b67(,((4866,7udqv plw(uuru ,qwhuuxsw(qdeoh 0b65(,((4866,5hfhlyh(uuru ,qwhuuxsw(qdeoh 66,6wdwxv5hjlvwhu%lw)odjv 0b,)(486huldo,qsxw )odj0dvn 0b,)(486huldo,qsxw )odj 0b,)(486huldo,qsxw )odj 0b7)6(487udqvplw)u dph6\qf)odj 0b5)6(485hfhlyh)udph6\qf )odj 0b78((487udqvplwwhu8 qghuuxq( uuru)/dj 0b52((485hfhlyhu2yhuuxq(uuru )odj 0b7'((487udqvplw'dwd 5hjlvwhu(psw\ 0b5')(485hfhlyh'dwd5hjlvwhu )xoo 66,7udqvplw6orw0dvn5hjlvwhu$ 0b6676$(48))))66,7udqvplw6orw%lwv0dvn$ 7676 66,7udqvplw6orw0dvn5hjlvwhu% 0b6676%(48 )))) 66,7udqvplw6orw%lwv0dvn% 7676 66,5hfhlyh6orw0dvn5hjlvwhu$ 0b6656$(48) )))66,5hfhlyh6orw%lwv0dvn$ 5 656  66,5hfhlyh6orw0dvn5hjlvwhu% 0b6656%(48))))66,5hfhlyh6orw%lwv0dvn% 5656   (48$7(6iru([fhswlrq3urfhvvlqj   5hjlvwhu$gguhvvhv 0b,35&(48))) ))),qwhuuxsw3ulrulw\5hjlvwhu&ruh 0b,353(48 )))))(,qw huuxsw3ulrulw\5hjlvwhu3hulskhudo ,qwhuuxsw3ulrulw\5hjlvwhu&ruh ,35&  0b,$/(48,54$ 0rgh0dvn 0b,$/(48,54$ 0rgh,qw huuxsw3ulrulw\/hyho orz 0b,$/(48,54$ 0rgh,qw huuxsw3ulrulw\/hyho k ljk 0b,$/(48,54$ 0rgh7uljjhu0rgh 0b,%/(48,54% 0rgh0dvn 0b,%/(48,54 %0rgh,qwh uuxsw3ulrulw\/hyho orz 0b,%/(48,54 %0rgh,qwh uuxsw3ulrulw\/hyho kljk 0b,%/(48,54 %0rgh7uljjhu0rgh 0b,&/(48&,54& 0rgh0dvn 0b,&/(48,54 &0rgh,qwh uuxsw3ulrulw\/hyho orz f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuqdo,2(txdwhv 0b,&/(48,54& 0rgh,qw huuxsw3ulrulw\/hyho k ljk 0b,&/(48,54& 0rgh7uljjhu0rgh 0b,'/(48(,54' 0rgh0dvn 0b,'/(48,54' 0rgh,qw huuxsw3ulrulw\/hyho orz 0b,'/(48,54' 0rgh,qw huuxsw3ulrulw\/hyho k ljk 0b,'/(48,54'0rgh7uljjhu 0rgh 0b'/(48'0$,qwhuuxswsulrulw\/hyho0dvn 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho orz 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho kljk 0b'/(48&'0$,qwhuuxsw3ulrulw\/hyho0dvn 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho orz 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho kljk 0b'/(48'0$,qwhuuxswsulrulw\/hyho0dvn 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho orz 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho kljk 0b'/(48&'0$ ,qwhuuxsw3ulrulw\/hyho0dvn 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho orz 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho kljk 0b'/(48'0$,qwhuuxswsulrulw\/hyho0dvn 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho orz 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho kljk 0b'/(48& '0$,qwhuuxsw sulrulw\/hyho0dvn 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho orz 0b'/(48'0$ ,qwhuuxsw3ulrulw\/hyho kljk ,qwhuuxsw3ulrulw\5hjlvwhu3hulskhudo ,353 0b+3/(48 +rvw,qwhuuxsw 3ulrulw\/hyho0dvn 0b+3/(48 +rvw,qwhuuxsw 3ulrulw\/hyho orz 0b+3/(48 +rvw,qwhuuxsw 3ulrulw\/hyho kljk 0b6/(48&66,,qwhuuxsw3ulrulw\/hyho0dvn 0b6/(4866,,qwhuuxsw3ulrulw\/hyho orz 0b6/(4866,,qwhuuxsw3ulrulw\/hyho kljk 0b6/(4866, ,qwhuuxsw3ulrulw\/hyho0dvn 0b6/(4866,,qwhuuxsw3ulrulw\/hyho orz 0b6/(4866,,qwhuuxsw3ulrulw\/hyho kljk 0b6&/(48&6&,,qwhuuxsw3ulrulw\/hyho0dvn 0b6&/(486&,,qwhuuxsw3ulrulw\/hyho orz 0b6&/(486&,,qwhuuxsw3ulrulw\/hyho kljk 0b7/(487,0( 5,qw huuxsw3ulrulw\/hyho0dvn 0b7/(487 ,0(5,qwhuuxsw 3ulrulw\/hyho orz 0b7/(487 ,0(5,qwhuuxsw 3ulrulw\/hyho kljk 0b(3/(48&()&23,qwhuuxsw3ulrulw\/hyho0dvn 0b(3/(48()&23,qwhuuxsw3ulrulw\/hyho orz 0b(3/(48()&23,qwhuuxsw3ulrulw\/hyho kljk   (48$7(6iru7,0(5   5hjlvwhu$gguhvvhv2i 7,0(5 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuqdo,2(txdwhv 0rwrurod %rrwvwuds3urjudp $  0b7&65(48))))) 7,0(5&rqwuro6wdwxv5hjlvwhu 0b7/5(48))))(  7,0(5/rdg5hj 0b7&35(48))))' 7,0(5&rp sduh5hjlvwhu 0b7&5(48) )))&  7,0(5&rxqw5hjlvwhu 5hjlvwhu$gguhvvhv2i7,0(5 0b7&65(48))))%7 ,0(5&rqwuro6wdwxv5hjlvw hu 0b7/5(48))))$  7, 0(5/rdg5hj 0b7&35(48))))7, 0(5&rp sduh5hjlvwhu 0b7&5(48) )))  7,0(5&rxqw5hjlvwhu 5hjlvwhu$gguhvvhv2i7,0(5 0b7&65(48))))7, 0(5&rqwuro6wdwxv5hjlvw hu 0b7/5(48))))  7, 0(5/rdg5hj 0b7&35(48))))7, 0(5&rp sduh5hjlvwhu 0b7&5(48))))  7,0(5&rxqw5hjlvwhu 0b73/5(48) )))  7,0(5 3uhvfdohu/rdg5hjlvwhu 0b73&5( 48 ))))  7,0(5 3uhvfdohu&rxqw5hjlvwhu 7lphu&rqwuro6wdwxv5hjlvwhu%lw)odjv 0b7((487 lphu(qdeoh 0b72,((487lphu2yhuio rz,qw huuxsw(qdeoh 0b7&,((487 lphu&rpsduh,qwhuuxsw(qdeoh 0b7&(48)7lphu& rqwuro0dvn 7&7& 0b,19(48 ,qyhuwhu%lw 0b750(487 lphu5hvwduw0rgh 0b',5(48'luhfwlrq%lw 0b',(48'dwd,qsxw 0b'2(48'dwd2xwsxw 0b3&((48  3uhvfdohg&o rfn(qdeoh 0b72)(487 lphu2yhuiorz)odj 0b7&)(487lphu&rpsduh)odj 7lphu3uhvfdohu5hjlvwhu%lw )odjv 0b36(48 3uhvfdohu6rxufh0dvn 0b36(48  0b36(48   7lphu&rqwuro%lwv 0b7&(487 lphu&rqwuro 0b7&(487 lphu&rqwuro 0b7&(487 lphu&rqwuro 0b7&(487 lphu&rqwuro f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuqdo,2(txdwhv   (48$7(6iru 'luhfw 0hpru\$ffhv v '0$    5hjlvwhu$gguhvvhv2i'0$ 0b'675(48 )))))  '0$ 6wdwxv5hjlvwhu 0b'25(48 ))))) ' 0$2iivhw5hjlvwhu 0b'25(48 ))))) ' 0$2iivhw5hjlvwhu 0b'25(48 ))))) ' 0$2iivhw5hjlvwhu 0b'25(48 ))))) ' 0$2iivhw5hjlvwhu 5hjlvwhu$gguhvvhv2i'0$ 0b'65(48 ))))()'0$ 6rxufh$gguhvv5hjlvwhu 0b''5(48 ))))(('0$'hvwlqdwlrq$gg uhvv5hjlvwhu 0b'&2(48 )))) (''0$ &rxqwhu 0b'&5(48 ))))(&'0$&rqwuro5hjlvwhu 5hjlvwhu$gguhvvhv2i'0$ 0b'65(48 ))))(%'0$ 6rxufh$gguhvv5hjlvwhu 0b''5(48 ))))($'0$ 'hvwlqdwlr q$gguh vv5hjlvwhu 0b'&2(48 )))) ( '0$&rxqwhu 0b'&5(48 ))))( '0$& rqwuro5hjlvwhu 5hjlvwhu$gguhvvhv2i'0$ 0b'65(48 )))) ('0$6rxufh $gguhvv5hjlvwhu 0b''5(48 )))) ( '0$'hvwlqdwlrq$gguhvv5hjlvwhu 0b'&2(48 )))) ( '0$&rxqwhu 0b'&5(48 ))))( '0$& rqwuro5hjlvwhu  5hjlvwhu$gguhvvhv2i'0$ 0b'65(48 )))) ('0$6rxufh $gguhvv5hjlvwhu 0b''5(48 )))) ( '0$'hvwlqdwlrq$gguhvv5hjlvwhu 0b'&2(48 )))) ( '0$&rxqwhu 0b'&5(48 ))))( '0$& rqwuro5hjlvwhu 5hjlvwhu$gguhvvhv2i'0$ 0b'65(48 ))))')'0$ 6rxufh$gguhvv5hjlvwhu 0b''5(48 )))) '('0$'hvwlqdwlr q$gguh vv5hjlvwhu 0b'&2(48 )))) '''0$&r xqwhu 0b'&5(48 ))))'&'0$&rqwuro5hjlvwhu 5hjlvwhu$gguhvvhv2i'0$ 0b'65(48 ))))'%'0$6rxufh$gguh vv5hjlvwhu 0b''5(48 ))))'$'0$'hvwlqdwlrq$gg uhvv5hjlvwhu 0b'&2(48 ))))''0$&rxqwhu f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuqdo,2(txdwhv 0rwrurod %rrwvwuds3urjudp $  0b'&5(48  ))))' '0$&rqwuro5hjlvwhu  '0$&rqwuro5hjlvwhu 0b'66(48  ' 0$6rxufh 6sdfh0dvn '66'vv 0b'66(48  ' 0$6rxufh0hpru\ vsdfh 0b'66(48  ' 0$6rxufh0hpru\ vsdfh 0b''6(48 & ' 0$'hvwlqdwlrq6sdfh0dvn ''6''6 0b''6(48  ' 0$'hvwlqdwlrq0hpru\ 6sdfh 0b''6(48  ' 0$'hvwlqdwlrq0hpru\ 6sdfh 0b'$0(48 i '0$$gguhvv0rgh0dvn  '$0'$0 0b'$0(48  '0$$gguhvv0rgh 0b'$0(48  '0$$gguhvv0rgh 0b'$0(48  '0$$gguhvv0rgh 0b'$0(48  '0$$gguhvv0rgh 0b'$0(48  '0$$gguhvv0rgh 0b'$0(48  '0$$gguhvv0rgh 0b''(48  ' 0$7kuhh'lphqvlrqdo0rgh 0b'56(48 ) '0$5htxhvw6rxufh0dvn  '56'56 0b'&21(48  ' 0$&rqwlqxrxv0rgh 0b'35(48  ' 0$&kdqqho 3ulrulw\ 0b'35(48  ' 0$&kdqqho 3ulrulw\/hyho orz 0b'35(48  ' 0$&kdqqho 3ulrulw\/hyho k ljk 0b'70(48  ' 0$7udqvihu0rgh0dvn '70'70 0b'70(48  ' 0$7udqvihu0rgh 0b'70(48  ' 0$7udqvihu0rgh 0b'70(48  ' 0$7udqvihu0rgh 0b',((48  '0$,qw huuxsw(qdeohelw 0b'((48  '0$&kdqqho(qdeohelw '0$6wdwxv5hjlvwhu 0b'7'(48 ) &kdqqho7udqvihu'rqh6wdwxv 0$6. 0b'7'(48  ' 0$&kdqqho7udqvihu'rq h6wdwxv 0b'7'(48  ' 0$&kdqqho7udqvihu'rq h6wdwxv 0b'7'(48  ' 0$&kdqqho7udqvihu'rq h6wdwxv 0b'7'(48  ' 0$&kdqqho7udqvihu'rq h6wdwxv 0b'7'(48  ' 0$&kdqqho7udqvihu'rq h6wdwxv 0b'7'(48  ' 0$&kdqqho7udqvihu'rq h6wdwxv 0b'$&7(48  '0$$fwlyh6wdwh 0b'&+(48 ( ' 0$$fwlyh&kdqqho0dvn  '&+'&+ 0b'&+(48  '0$$fwlyh&kdqqho 0b'&+(48  '0$$fwlyh&kdqqho 0b'&+(48   '0$$fwlyh&kdqqho   (48$7(6iru(qkdqfhg)lowhu&r surfhvvru ()&23    0b)',5(48) )))%  ()&23'dwd,qsxw5hjlvwhu 0b)'25(48 ))))%()&23'dwd2xwsxw5hjlvwhu 0b).,5(48) )))%  ()&23. &rqvwdqw5hjlvwhu f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuqdo,2(txdwhv 0b)&17(48 ))))%()&23)lowhu&rxqwhu 0b)&65(48 ))))%()&23&rqwuro6wdwxv5hjlvwhu 0b)$&5(48 ))))%()&23$/8&rqwuro5hjlvwhu 0b)'%$(48)) ))%()& 23'dwd%dvh$gguhvv 0b)&%$(48 ))))%()&23&rhiilflhqw%dvh$gguhvv 0b)'&+(48)) ))%()& 23'hf lpdwlrq&kdqqho5hjlvwhu   (48$7(6iru3kdvh/rfnhg/rrs 3//    5hjlvwhu$gguhvvhv2i3// 0b3&7/(48 )))))'3//&rqwuro5hjlvwhu 3//&rqwuro5hjlvwhu 0b0)(48)))0xowlsolfdwlrq)dfwru%lwv0dvn 0)0) 0b')(48'lylvlrq )dfwru%lwv0dvn  ')') 0b;7/5(48;7$/5dqjhvhohfwelw 0b;7/'(48;7$/'lvdeoh%lw 0b3673(4867233urfhvv lqj6wdwh%lw 0b3(1(483//(qdeoh%lw 0b3&2'(483//&orfn2xwsxw'lvdeoh%lw 0b3'(48)  3uh'lylghu)dfwru%lwv0dvn 3'3'   (48$7(6iru%,8   5hjlvwhu$gguhvvhv2i%,8 0b%&5( 48 )))))%%xv&rqwuro5hjlvwhu 0b'&5(48)))))$'5$0&rqwuro5hjlvwhu 0b$$5(48 )))))  $gguhvv$wwulexwh5hjlvwhu 0b$$5(48 )))))  $gguhvv$wwulexwh5hjlvwhu 0b$$5(48 )))))  $gguhvv$wwulexwh5hjlvwhu 0b$$5(48 )))))  $gguhvv$wwulexwh5hjlvwhu 0b,'5(48))))) ,'5hjlvwhu %xv&rqwuro5hjlvwhu 0b%$:(48)$uhd:dlw&rqwuro0dvn %$:%$: 0b%$:(48($uhd:dlw&rqwuro0dvn %$:%$ 0b%$:(48&$uhd:dlw& rqwuro0dvn %$: %$: 0b%$:(48($uhd:dlw &rqwuro0dvn %$:%$: 0b%'):(48) 'hidxow$uhd:dlw &rqwuro0dvn %'):%'): 0b%%6(48%xv6wdwh 0b%/+(48%xv/rf n+rog 0b%5+ (48%xv5htxhvw+rog f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuqdo,2(txdwhv 0rwrurod %rrwvwuds3urjudp $  '5$0&rqwuro5hjlvwhu 0b%&:(48 ,q3djh:dlw6wdwhv%lwv0dvn %&:%&: 0b%5:(48& 2xw2i3djh:dlw6wdwhv%lwv0dvn %5:%5: 0b%36(48'5 $03djh6l]h%lwv0dvn %36%36 0b%3/((483djh/rjlf(qdeoh 0b%0((480dvwhuvkls(qdeoh 0b%5((485hiuhvk(qdeoh 0b%675(486riwzduh7ul jjhuhg5hiuhvk 0b%5)(48)5hiuhvk5dwh%lwv0dvn %5) %5) 0b%53(48 5hiuhvk suhvfdohu $gguhvv$wwulexwh5hjlvwhuv 0b%$7(48 ([whuqdo$ffhvv7\shd qg3lq'hilqlwlrq%lwv  0dvn %$7%$7 0b%$$3(48 $gguhvv$ww ulexwh3lq3rodulw\ 0b%3(1(483urjudp6sdfh(qdeoh 0b%;(1(48;'dwd6sdfh(qdeoh 0b%<(1(48<'dwd6sdfh(qdeoh 0b%$0( 48 $gguhvv 0x[lqj 0b%3$&(48 3dfn lqj(qdeoh 0b%1&(48) 1xpehuri $gguhvv%lwvwr &rpsduh0dvn 0b%$&(48 ))) $gguhvvwr&rpsduh%lwv0dvn %$&%$& frqwurodqgvwdwxvelwvlq65 0b&3(48f pdvniru&25 ('0$sulrulw\elwvlq65 0b&$(48&duu\ 0b9(482yhui orz 0b=(48=hur 0b1(481hjdwlyh 0b8(488 qqrupdol]hg 0b((48([whqvlrq 0b/(48/lplw 0b6(486fdolqj%lw 0b,(48 ,qwhuuxsw0dvn%lw 0b,(48 ,qwhuuxsw0dvn%lw 0b6(486fdolqj 0rgh%lw 0b6(486fdolqj 0rgh%lw 0b6&(486l[whhqb%lw &rpsdwlelolw\ 0b'0(48'rxeoh3uhflvlrq0xowlso\ 0b/)(48'2/rrs )odj 0b)9(48'2)ruhyhu)odj 0b6$(486l[whhq%lw$ulwkphwlf 0b&((48,qvwuxfw lrq&dfkh(qdeoh 0b60(48$ulw kphwlf6dwxudwlrq 0b50(485r xqglqj0rgh 0b&3(48elwrisulrulw\elwvlq65 0b&3(48elwrisulrulw\elwvlq65 frqwurodqgvwdwxvelwvlq205 0b&'3(48pdvniru&25('0$sulrulw\elwvlq205 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuuxsw(txdwhv 0b0$(48 2shudw lqj0rgh$ 0b0% (48  2shudwlq j0rgh% 0b0& (48  2shudwlq j0rgh& 0b0'(48  2shudwlq j0rgh' 0b(%'(48  ([whuqdo%xv'lvdeohelwlq205 0b6'(48  6wrs'hod\ 0b06(48 0hpru\6zlwfkelwlq205 0b&'3(48elw ri sulrulw\elwvlq205 0b&'3(48elw ri sulrulw\elwvlq205 0b%(1(48%xuvw(qdeoh 0b7$6(487$6\qfkurql]h6hohfw 0b%57(48%xv5hohdvh7lplqj 0b$7((48$gguhvv7udflqj(qdeohelwlq205 0b;<6(486wdfn([whqvlrqvsdfhvhohfwelwlq205 0b(81(48([whqghgvwdfn81ghuiorziodjlq205 0b(29(48([whqghgvwdfn29hui orziodjlq205 0b:53(48([whqghg :5d3iodjlq205 0b6(1(486wdfn([whqv lrq(qdeohelwlq205 $ ,qwhuuxsw(txdwhv   (48$7(6irulqwhuuxswv  /dvwxsgdwh)heuxdu\   sdjh  rsw ph[ lqwhtxlghqw li #'() ,b9(& ohdyhxvhughilqlwlrqdvlv hovh ,b9(&(48  hqgli  1rq0dvndeohlqwhuuxswv  ,b5(6(7(48,b9(&+du gzduh5(6(7 ,b67$&.(48,b9(&6wdfn(uuru ,b,//(48,b9(&,oohjdo,qvwuxfwlrq ,b'%*(48,b9(&'hexj5htxhvw ,b75$3(48,b9(&7uds ,b10, (48,b9(&$1rq0dvndeoh,qwhuuxsw  ,qwhuuxsw5htxhvw3lqv  ,b,54$(48,b9(& ,54$ ,b,54%(48,b9(&,54% f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
,qwhuuxsw(txdwhv 0rwrurod %rrwvwuds3urjudp $  ,b,54&(48,b9(&,54& ,b,54'(48,b9(&,54'  '0$,qw huuxswv  ,b'0$(48,b9(&'0$&kdqqho ,b'0$(48,b9(&$'0$&kd qqho ,b'0$(48,b9(&& '0$&kdqqho ,b'0$(48,b9(&(' 0$&kdqqho ,b'0$(48,b9(&'0$&kdqqho ,b'0$(48,b9(&'0$&kdqqho  7lphu,qwhuuxswv  ,b7,0&(48,b9(&7 ,0(5 frpsduh ,b7,02)(48,b9(&7, 0(5ryhuiorz ,b7,0&(48,b9(&7 ,0(5 frpsduh ,b7,02)(48,b9(&$ 7,0(5ryhuiorz ,b7,0&(48,b9(&&7 ,0(5 frpsduh ,b7,02)(48,b9(&(7,0(5 ryhuiorz  (66,,qwhuuxswv  ,b6,5'(48,b9(&(66,5hfhlyh'dwd ,b6,5'((48,b9(&(66,5hfhlyh'dwd:lwk([fhswlrq6wdwxv ,b6,5/6(48,b9(&(66,5hfhlyhodvwvorw ,b6,7'(48,b9(&(66,7udq vplwgdwd ,b6,7'((48,b9(&(66,7udqvplw'dwd:lwk([fhsw lrq6wdwxv ,b6,7/6(48,b9(&$(66,7udqv plwodvwvorw ,b6,5'(48,b9(&(66,5hfhlyh'dwd ,b6,5'((48,b9(&(66,5hfhlyh'dwd:lwk([fhswlrq6wdwxv ,b6,5/6(48,b9(&(66,5hfhlyhodvwvorw ,b6,7'(48,b9(&(66,7udqv plwgdwd ,b6,7'((48,b9(&(66,7udqvplw'dwd:lwk([fhswlrq6wdwxv ,b6,7/6(48,b9(&$(66,7udqvplwodvwvorw  6&,,qwhuuxswv  ,b6&,5'(48,b9(&6&,5hfhlyh'dwd ,b6&,5'((48,b9(&6&,5hfhlyh'dwd:lwk([fhsw lrq6wdwxv ,b6&,7'(48,b9(&6&,7udqv plw'dwd ,b6&,,/(48,b9(&6&, ,goh/lqh ,b6&,70(48,b9(&6&,7lphu  +267,qwhuuxswv  ,b+5')(48,b9(& +rvw5hfhlyh'dwd)xoo ,b+7'((48,b9(& +rvw7udqvplw'dwd(psw\ ,b+&(48,b9(&'hidxow +rvw&rppdqg f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
$  '638vhu?v0dqxdo 0rwrurod ,qwhuuxsw(txdwhv  ()&23,qwhuuxswv  ,b)',%((48,b9(& ()&23,qsxw%xiihu(psw\ ,b)'2%)(48,b9(&$ ()&232xwsxw%xiihu )xoo  ,17(55837(1',1 *$''5(66  ,b,17(1'(48,b9(&)) odvwdgguhvvrilqwhuuxswyhfwruvsdfh f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola programming reference b- 1 appendix b programming reference this reference for programmers includes a table showing the addresses of all dsp memory-mapped peripherals, an exception priority table, and programming sheets for the major programmable dsp registers. the programming sheets are grouped in the following order: central processor, phase lock loop, (pll), host interface (hi08), enhanced synchronous serial interface (essi), serial communication interface (sci), timer, gpio, and efcop. each sheet provides room to write in the value of each bit and the hexadecimal value for each register. you can photocopy these sheets and reuse them for each application development project. for details on the instruction set of the dsp56300 family of dsps, see the dsp56300 family manual . n table b-2 , internal x i/o memory map, on page b-2 and table b-3 , internal y i/o memory map, on page b-7 list the memory addresses of all on-chip peripherals. n table b-4 , interrupt sources, on page b-8 lists the interrupt starting addresses and sources. n table b-5 , interrupt source priorities within an ipl, on page b-10 lists the priorities of specific interrupts within interrupt priority levels. n the programming sheets appear in this manual as figures (listed in table b-1 ); they show the major programmable registers on the dsp56311. table b-1. guide to programming sheets module programming sheet page central processor figure b-1 , "status register (sr)" page b-12 figure b-2 , "operating mode register" page b-13 figure b-3 , "address attribute registers (aar3 - aar0)" page b-14 figure b-4 , "bus control register (bcr)" page b-15 figure b-5 , "dma control register (dcr)" page b-16 figure b-6 , " interrupt priority registerCcore (iprCc)" page b-17 figure b-7 , "interrupt priority register C peripherals (iprCp)" page b-18 pll figure b-8 , "phase lock loop control register (pctl)" page b-19 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 2 dsp56311 users manual motorola internal i/o memory map b.1 internal i/o memory map hi08 figure b-9 , "host receive and host transmit data registers" page b-20 figure b-10 , "host control and host status registers" page b-21 figure b-11 , "host base address and host port control registers" page b-22 figure b-12 , "interrupt control and interrupt status registers" page b-23 figure b-13 , "interrupt vector and command vector registers" page b-24 figure b-14 , "host receive and host transmit data registers" page b-25 essi figure b-15 , "essi control register a (cra)" page b-26 figure b-16 , "essi control register b (crb)" page b-27 figure b-17 , "essi status register (ssisr)" page b-28 figure b-18 , "essr transmit and receive slot mask registers (tsm, rsm)" page b-29 sci figure b-19 , "sci control register (scr)" page b-30 figure b-20 , "sci status and clock control registers (ssr, sccr)" page b-31 figure b-21 , "sci receive and transmit data registers (srx, trx)" page b-32 timers figure b-22 , "timer prescaler load/count register (tplr, tpcr)" page b-33 figure b-23 , "timer control/status register (tcsr)" page b-34 figure b-24 , "timer load, compare, count registers (tlr, tcpr, tcr)" page b-35 gpio figure b-25 , "host data direction and host data registers (hddr, hdr)" page b-36 figure b-26 , "port c registers (pcrc, prrc, pdrc)" page b-37 figure b-27 , "port d registers (pcrd, prrd, pdrd)" page b-38 figure b-28 , "port e registers (pcre, prre, pdre)" page b-39 efcop figure b-29 , "efcop counter and control status registers (fcnt and fcsr)" page b-40 figure b-30 , "efcop facr, fdba, fcba, and fdch registers" page b-41 table b-2. internal x i/o memory map peripheral 16-bit address 24-bit address register name ipr $ffff $ffffff interrupt priority register core (ipr-c) $fffe $fffffe interrupt priority register peripheral (ipr-p) pll $fffd $fffffd pll control register (pctl) once $fffc $fffffc once gdb register (ogdb) table b-1. guide to programming sheets f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
internal i/o memory map motorola programming reference b- 3 biu $fffb $fffffb bus control register (bcr) $fffa $fffffa dram control register (dcr) $fff9 $fffff9 address attribute register 0 (aar0) $fff8 $fffff8 address attribute register 1 (aar1) $fff7 $fffff7 address attribute register 2 (aar2) $fff6 $fffff6 address attribute register 3 (aar3) $fff5 $fffff5 id register (idr) dma $fff4 $fffff4 dma status register (dstr) $fff3 $fffff3 dma offset register 0 (dor0) $fff2 $fffff2 dma offset register 1 (dor1) $fff1 $fffff1 dma offset register 2 (dor2) $fff0 $fffff0 dma offset register 3 (dor3) dma0 $ffef $ffffef dma source address register (dsr0) $ffee $ffffee dma destination address register (ddr0) $ffed $ffffed dma counter (dco0) $ffec $ffffec dma control register (dcr0) dma1 $ffeb $ffffeb dma source address register (dsr1) $ffea $ffffea dma destination address register (ddr1) $ffe9 $ffffe9 dma counter (dco1) $ffe8 $ffffe8 dma control register (dcr1) dma2 $ffe7 $ffffe7 dma source address register (dsr2) $ffe6 $ffffe6 dma destination address register (ddr2) $ffe5 $ffffe5 dma counter (dco2) $ffe4 $ffffe4 dma control register (dcr2) dma3 $ffe3 $ffffe3 dma source address register (dsr3) $ffe2 $ffffe2 dma destination address register (ddr3) $ffe1 $ffffe1 dma counter (dco3) $ffe0 $ffffe0 dma control register (dcr3) table b-2. internal x i/o memory map (continued) peripheral 16-bit address 24-bit address register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 4 dsp56311 users manual motorola internal i/o memory map dma4 $ffdf $ffffdf dma source address register (dsr4) $ffde $ffffde dma destination address register (ddr4) $ffdd $ffffdd dma counter (dco4) $ffdc $ffffdc dma control register (dcr4) dma5 $ffdb $ffffdb dma source address register (dsr5) $ffda $ffffda dma destination address register (ddr5) $ffd9 $ffffd9 dma counter (dco5) $ffd8 $ffffd8 dma control register (dcr5) $ffd7 $ffffd7 reserved $ffd6 $ffffd6 reserved $ffd5 $ffffd5 reserved $ffd4 $ffffd4 reserved $ffd3 $ffffd3 reserved $ffd2 $ffffd2 reserved $ffd1 $ffffd1 reserved $ffd0 $ffffd0 reserved $ffcf $ffffcf reserved $ffce $ffffce reserved $ffcd $ffffcd reserved $ffcc $ffffcc reserved $ffcb $ffffcb reserved $ffca $ffffca reserved port b $ffc9 $ffffc9 host port gpio data register (hdr) $ffc8 $ffffc8 host port gpio direction register (hddr) hi08 $ffc7 $ffffc7 host transmit register (htx) $ffc6 $ffffc6 host receive register (hrx) $ffc5 $ffffc5 host base address register (hbar) $ffc4 $ffffc4 host port control register (hpcr) $ffc3 $ffffc3 host status register (hsr) $ffc2 $ffffc2 host control register (hcr) table b-2. internal x i/o memory map (continued) peripheral 16-bit address 24-bit address register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
internal i/o memory map motorola programming reference b- 5 $ffc1 $ffffc1 reserved $ffc0 $ffffc0 reserved port c $ffbf $ffffbf port c control register (pcrc) $ffbe $ffffbe port c direction register (prrc) $ffbd $ffffbd port c gpio data register (pdrc) essi 0 $ffbc $ffffbc essi 0 transmit data register 0 (tx00) $ffbb $ffffbb essi 0 transmit data register 1 (tx01) $ffba $ffffba essi 0 transmit data register 2 (tx02) $ffb9 $ffffb9 essi 0 time slot register (tsr0) $ffb8 $ffffb8 essi 0 receive data register (rx0) $ffb7 $ffffb7 essi 0 status register (ssisr0) $ffb6 $ffffb6 essi 0 control register b (crb0) $ffb5 $ffffb5 essi 0 control register a (cra0) $ffb4 $ffffb4 essi 0 transmit slot mask register a (tsma0) $ffb3 $ffffb3 essi 0 transmit slot mask register b (tsmb0) $ffb2 $ffffb2 essi 0 receive slot mask register a (rsma0) $ffb1 $ffffb1 essi 0 receive slot mask register b (rsmb0) $ffb0 $ffffb0 reserved port d $ffaf $ffffaf port d control register (pcrd) $ffae $ffffae port d direction register (prrd) $ffad $ffffad port d gpio data register (pdrd) table b-2. internal x i/o memory map (continued) peripheral 16-bit address 24-bit address register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 6 dsp56311 users manual motorola internal i/o memory map essi 1 $ffac $ffffac essi 1 transmit data register 0 (tx10) $ffab $ffffab essi 1 transmit data register 1 (tx11) $ffaa $ffffaa essi 1 transmit data register 2 (tx12) $ffa9 $ffffa9 essi 1 time slot register (tsr1) $ffa8 $ffffa8 essi 1 receive data register (rx1) $ffa7 $ffffa7 essi 1 status register (ssisr1) $ffa6 $ffffa6 essi 1 control register b (crb1) $ffa5 $ffffa5 essi 1 control register a (cra1) $ffa4 $ffffa4 essi 1 transmit slot mask register a (tsma1) $ffa3 $ffffa3 essi 1 transmit slot mask register b (tsmb1) $ffa2 $ffffa2 essi 1 receive slot mask register a (rsma1) $ffa1 $ffffa1 essi 1 receive slot mask register b (rsmb1) $ffa0 $ffffa0 reserved port e $ff9f $ffff9f port e control register (pcre) $ff9e $ffff9e port e direction register (prre) $ff9d $ffff9d port e gpio data register (pdre) sci $ff9c $ffff9c sci control register (scr) $ff9b $ffff9b sci clock control register (sccr) $ff9a $ffff9a sci receive data register - high (srxh) $ff99 $ffff99 sci receive data register - middle (srxm) $ff98 $ffff98 sci recieve data register - low (srxl) $ff97 $ffff97 sci transmit data register - high (stxh) $ff96 $ffff96 sci transmit data register - middle (stxm) $ff95 $ffff95 sci transmit data register - low (stxl) $ff94 $ffff94 sci transmit address register (stxa) $ff93 $ffff93 sci status register (ssr) $ff92 $ffff92 reserved $ff91 $ffff91 reserved $ff90 $ffff90 reserved table b-2. internal x i/o memory map (continued) peripheral 16-bit address 24-bit address register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
internal i/o memory map motorola programming reference b- 7 triple timer $ff8f $ffff8f timer 0 control/status register (tcsr0) $ff8e $ffff8e timer 0 load register (tlr0) $ff8d $ffff8d timer 0 compare register (tcpr0) $ff8c $ffff8c timer 0 count register (tcr0) $ff8b $ffff8b timer 1 control/status register (tcsr1) $ff8a $ffff8a timer 1 load register (tlr1) $ff89 $ffff89 timer 1 compare register (tcpr1) $ff88 $ffff88 timer 1 count register (tcr1) $ff87 $ffff87 timer 2 control/status register (tcsr2) $ff86 $ffff86 timer 2 load register (tlr2) $ff85 $ffff85 timer 2 compare register (tcpr2) $ff84 $ffff84 timer 2 count register (tcr2) $ff83 $ffff83 timer prescaler load register (tplr) $ff82 $ffff82 timer prescaler count register (tpcr) $ff81 $ffff81 reserved $ff80 $ffff80 reserved table b-3. internal y i/o memory map peripheral 16-bit address 24-bit address register name $ffbf $ffffbf reserved $ffbe $ffffbe reserved $ffbd $ffffbd reserved $ffbc $ffffbc reserved $ffbb $ffffbb reserved $ffba $ffffba reserved $ffb9 $ffffb9 reserved table b-2. internal x i/o memory map (continued) peripheral 16-bit address 24-bit address register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 8 dsp56311 users manual motorola interrupt sources and priorities b.2 interrupt sources and priorities enhanced filter coprocessor (efcop) $ffb8 $ffffb8 efcop decimation/channel (fdch) register $ffb7 $ffffb7 efcop coefficient base address (fcba) $ffb6 $ffffb6 efcop data base address (fdba) $ffb5 $ffffb5 efcop alu control register (facr) $ffb4 $ffffb4 efcop control status register (fcsr) $ffb3 $ffffb3 efcop filter count (fcnt) register $ffb2 $ffffb2 efcop k-constant register (fkir) $ffb1 $ffffb1 efcop data output register (fdor) $ffb0 $ffffb0 efcop data input register (fdir) $ffafC $ff80 $ffffafC $ffff80 reserved table b-4. interrupt sources interrupt starting address interrupt priority level range interrupt source vba:$00 3 hardware reset vba:$02 3 stack error vba:$04 3 illegal instruction vba:$06 3 debug request interrupt vba:$08 3 trap vba:$0a 3 non-maskable interrupt (nmi ) vba:$0c 3 reserved vba:$0e 3 reserved vba:$10 0C2 irqa vba:$12 0C2 irqb vba:$14 0C2 irqc vba:$16 0C2 irqd vba:$18 0C2 dma channel 0 vba:$1a 0C2 dma channel 1 vba:$1c 0C2 dma channel 2 table b-3. internal y i/o memory map peripheral 16-bit address 24-bit address register name f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
interrupt sources and priorities motorola programming reference b- 9 vba:$1e 0C2 dma channel 3 vba:$20 0C2 dma channel 4 vba:$22 0C2 dma channel 5 vba:$24 0C2 timer 0 compare vba:$26 0C2 timer 0 overflow vba:$28 0C2 timer 1 compare vba:$2a 0C2 timer 1 overflow vba:$2c 0C2 timer 2 compare vba:$2e 0C2 timer 2 overflow vba:$30 0C2 essi0 receive data vba:$32 0C2 essi0 receive data with exception status vba:$34 0C2 essi0 receive last slot vba:$36 0C2 essi0 transmit data vba:$38 0C2 essi0 transmit data with exception status vba:$3a 0C2 essi0 transmit last slot vba:$3c 0C2 reserved vba:$3e 0C2 reserved vba:$40 0C2 essi1 receive data vba:$42 0C2 essi1 receive data with exception status vba:$44 0C2 essi1 receive last slot vba:$46 0C2 essi1 transmit data vba:$48 0C2 essi1 transmit data with exception status vba:$4a 0C2 essi1 transmit last slot vba:$4c 0C2 reserved vba:$4e 0C2 reserved vba:$50 0C2 sci receive data vba:$52 0C2 sci receive data with exception status vba:$54 0C2 sci transmit data vba:$56 0C2 sci idle line vba:$58 0C2 sci timer vba:$5a 0C2 reserved vba:$5c 0C2 reserved vba:$5e 0C2 reserved table b-4. interrupt sources (continued) interrupt starting address interrupt priority level range interrupt source f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 10 dsp56311 users manual motorola interrupt sources and priorities vba:$60 0C2 host receive data full vba:$62 0C2 host transmit data empty vba:$64 0C2 host command (default) vba:$66 0C2 reserved vba:$68 0C2 efcop data input buffer empty vba:$6a 0C2 efcop data output buffer full vba:$6c 0C2 reserved vba:$6e 0C2 reserved ::: vba:$fe 0C2 reserved table b-5. interrupt source priorities within an ipl priority interrupt source level 3 (nonmaskable) highest hardware reset stack error illegal instruction debug request interrupt trap lowest non-maskable interrupt levels 0, 1, 2 (maskable) highest irqa (external interrupt) irqb (external interrupt) irqc (external interrupt) irqd (external interrupt) dma channel 0 interrupt dma channel 1 interrupt dma channel 2 interrupt dma channel 3 interrupt dma channel 4 interrupt table b-4. interrupt sources (continued) interrupt starting address interrupt priority level range interrupt source f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
interrupt sources and priorities motorola programming reference b- 11 dma channel 5 interrupt host command interrupt host transmit data empty host receive data full essi0 rx data with exception interrupt essi0 rx data interrupt essi0 receive last slot interrupt essi0 tx data with exception interrupt essi0 transmit last slot interrupt essi0 tx data interrupt essi1 rx data with exception interrupt essi1 rx data interrupt essi1 receive last slot interrupt essi1 tx data with exception interrupt essi1 transmit last slot interrupt essi1 tx data interrupt sci receive data with exception interrupt lowest sci receive data highest sci transmit data sci idle line sci timer timer0 overflow interrupt timer0 compare interrupt timer1 overflow interrupt timer1 compare interrupt timer2 overflow interrupt timer2 compare interrupt efcop data input buffer empty lowest efcop data output buffer full table b-5. interrupt source priorities within an ipl (continued) priority interrupt source f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 12 dsp56311 users manual motorola programming sheets b.3 programming sheets figure b-1. status register (sr) central processor 1514131211109876543210 uzvc 19 18 17 16 23 22 21 20 l lf s1 sm i1 i0 ce sa fv s0 n scaling mode s(1:0) scaling mode 00 01 10 11 no scaling scale down scale up reserved * 0 * 0 interrupt mask i(1:0) exceptions masked 00 01 10 11 none ipl 0 ipl 0, 1 ipl 0, 1, 2 carry over?ow zero negative unnormalized ( u = acc(47) xnor acc(46) ) extension limit fft scaling ( s = acc(46) xor acc(45) ) reserved sixteen-bit compatibilitity double precision multiply mode loop flag do-forever flag sixteenth-bit arithmetic reserved instruction cache enable arithmetic saturation rounding mode core priority cp(1:0) core priority 00 01 10 11 0 (lowest) 1 2 3 (highest) * = reserved, program as 0 mode register (mr) condition code register (ccr) extended mode register (mr) status register (sr) read/write reset = $c00300 cp1 cp0 rm dm sc s e f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 13 figure b-2. operating mode register central processor operating mode register reset = $000300 1514131211109876543210 ms ebd mc mb ma 19 18 17 16 23 22 21 20 sd brt tas cpd0 * 0 * = reserved, program as 0 be eun apd abe md stack extension enable, bit 20 0 = stack extension disabled 1 = stack extension enabled stack extension wrap flag, bit 19 0 = no stack extension wrap 1 = stack extension wrap (sticky bit) stack extension overflow flag, bit 18 0 = no stack overflow 1 = stack overflow stack extension x y select, bit 16 0 = mapped to x memory 1 = mapped to y memory stack extension underflow flag, bit 17 0 = no stack underflow 1 = stack underflow 0 = enables external bus 1 = disables external bus external bus disable, bit 4 0 = delay is 128k clock cycles 1 = delay is 16 clock cycless memory switch mode, bit 7 0 = memory switching disabled memory switch configuration, bits 22 C 21 * 0 cpd1 * 0 xys wrp eov sen msw0 msw1 msw[1 C 0] program memory 00 x memory: $4000 - $bfff y memory: $4000 - $bfff 01 x memory: $6000 - $bfff y memory: $6000 - $bfff 10 x memory: $8000 - $bfff y memory: $8000 - $bfff 11 x memory: $a000 - $bfff y memory: $a000 - $bfff chip operating mode, bits 3 C 0 refer to the operating modes stop delay mode, bit 6 1 = memory switching enabled core-dma priority, bits 9 C 8 ta synchronize select, bit 11 0 = not synchronized 1 = synchronized cpd[1:0] description 00 compare sr[cp] to active dma channel priority 01 dma has higher priority than core 10 dma has same priority as core 11 dma has lower priority than core cache burst mode enable, bit 10 0 = burst mode disabled 1 = burst mode enabled address attribute priority disable, bit 14 0 = priority mechanism enabled 1 = priority mechanism disabled bus release timing, bit 12 0 = fast bus release mode 1 = slow bus release mode asynchronous bus arbitration enable, bit 13 0 = synchronization disabled 1 = synchronization enabled table in chapter 4. f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 14 dsp56311 users manual motorola programming sheets figure b-3. address attribute registers (aar3 - aar0) central processor address attribute registers (aar3 - aar0) reset = $000000 15141312111098765 43210 bpac byen baap bat bat 19 18 17 16 23 22 21 20 bac bnc bnc * = reserved, program as 0 bnc bac bac bac 0 = disable aa pin and logic during 1 = enable aa pin and logic during bus packing enable, bit 7 0 = disable internal packing/unpacking logic * 0 bnc bac bac bac bac bac bac bus access type, bits 1 C 0 bus y data memory enable, bit 5 1 = enable internal packing/unpacking logic bus number of address bits to compare, bits 11 C 8 bnc[3 C0] = number of bits (from bac bits) that are bus address to compare, bits 23 C 12 bac[11 C 0] = address to compare to the bac 11 10 9 8 7 6 5 4 bac 32 10 (combinations bnc[3 C 0] = 1111, 1110, 1101 are reserved.) 3210 bxenbpen 10 external y data space accesses external y data space accesses 0 = disable aa pin and logic during 1 = enable aa pin and logic during bus x data memory enable, bit 4 external x data space accesses external x data space accesses 0 = disable aa pin and logic during 1 = enable aa pin and logic during bus program memory enable, bit 3 external program space accesses external program space accesses bus address attribute polarity, bit 2 0 = aa/ras signal is active low 1 = aa/ras signal is active high bat[1 C 0] encoding 00 reserved 01 sram access 10 dram access 11 reserved compared to the external address external address in order to decide whether to assert the aa pin f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 15 figure b-4. bus control register (bcr) central processor bus control register (bcr) reset = $1fffff 1514131211109876543210 ba1w ba1w ba0wba0w ba0w 19 18 17 16 23 22 21 20 ba2w ba2w ba2w ba2w bdfw ba3w ba3w bus state, bit 21 0 = dsp is not bus master ba1w bdfw bdfw bdfw bdfw bbs blh area 0 wait control, bits 4C 0 default area wait control, bits 20 C16 1 = dsp is bus master bus lock hold, bit 22 0 = bl pin is asserted only for attempted read- 1 = bl pin is always asserted brh 43210 ba3w 2 1 021043 ba0w ba0w 10 area 3 wait control, bits 15 C 13 area 2 wait control, bits 12 C 10 2 3 4 0 ba1w 1 2 write modify external access bus request hold, bit 23 0 = br pin is asserted only for attempted 1 = br pin is always asserted or pending access note: all bcr bits are read/write control bits. these read/write control bits define the number of wait states inserted into each external sram access to the designated area. the value of these bits should not be programmed as zero. number of wait states: ba1w[9 C 5] 0 C 31 ba2w[12 C 10] 0 C 7 ba3w[15 C 13] 0 C 7 bdfw[20 C 16] 0 C 31 ba0w[4 C 0] 0 C 31 area 1 wait control, bits 9 C 5 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 16 dsp56311 users manual motorola programming sheets figure b-5. dma control register (dcr) central processor dma control registers (dcr5 C dcr0) reset = $000000 1514131211109876543210 dam dam dds dss dss 19 18 17 16 23 22 21 20 dam drs drs dam d3d dpr drs drs dds dma channel enable, bit 23 0 = disables channel operation 1 = enables channel operation dma interrupt enable, bit 22 0 = disables dma interrupt 1 = enables dma interrupt dma continuous mode enable, bit 16 0 = disables continuous mode 1 = enables continuous mode three-dimensional mode, bit 10 0 = three-dimensional mode disabled dma transfer mode, bits 21 C 19 dam dcon dtm dpr dtm dtm die dtm[2:0] triggered by de cleared transfer mode 000 request yes block transfer 001 request yes word transfer 010 request yes line transfer 011 de yes block transfer 100 request no block transfer 101 request no word transfer 110 reserved 111 reserved 1 = three-dimensional mode enabled de 21010 drs 43 210 54 32 dam 101010 dma channel priority, bits 18 C 17 dpr[1:0] channel priority 00 priority level 0 (lowest) 01 priority level 1 10 priority level 2 11 priority level 3 (highest) dma source space, bits 1 C 0 dss[1:0] dma source memory 00 x memory space 01 y memory space 10 p memory space 11 reserved dma destination space, bits 3 C 2 dss[1:0] dma destination memory 00 x memory space 01 y memory space 10 p memory space 11 reserved dma request source, bits 15 C 11 drs[4:0] requesting device 00000 external( irqa pin) 00001 external (irqb pin) 00010 external (irqc pin) 00011 external (irqd pin) 00100 transfer done from channel 0 00101 transfer done from channel 1 00110 transfer done from channel 2 00111 transfer done from channel 3 01000 transfer done from channel 4 01001 transfer done from channel 5 01010 essi 0 receive data . . . . . . 10111 - 11111 reserved dma address mode, bits 9 C 4 non-three-dimensional addressing modes (d3d=0) three-dimensional addressing modes (d3d= 1) dam[5:3] dam[2:0] addressing mode counter mode offset register selection 000 2d b dor0 001 2d b dor1 010 2d b dor2 011 2d b dor3 100 no update a none 101 postincrement- by-1 anone 110 reserved 111 reserved dam[5:3] addressing mode offset selection 000 2d dor0 001 2d dor1 010 2d dor2 011 2d dor3 100 no update none 101 postincrement-by- 1 none 110 3d dor0: dor1 111 3d dor2: dor3 dam[2 C 0] = source dam[5 C 3] = destination f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 17 figure b-6. interrupt priority registerCcore (iprCc) central processor 1514131211109876543210 d1l0 idl2 idl1 ibl2 ibl1 ibl0 ial2 ial1 ial0 interrupt priority x:$ffffff read/write d0l1 d0l0 reset = $000000 register (ipr Cc) 23 22 21 20 19 18 16 17 d1l1 ial2 trigger 0level 1 neg. edge irqa mode ial1 icl1 ial0 i icl0 enabled ipl 00 no 0 01 yes 1 10 yes 2 11 yes 3 ibl2 trigger 0level 1 neg. edge irqb mode ibl1 idl1 ibl0 idl0 enabled ipl 00 no 0 01 yes 1 10 yes 2 11 yes 3 icl0 icl1 icl2 idl0 d2l0 d2l1 d3l0 d3l1 d4l0 d4l1 d5l0 d5l1 icl2 trigger 0level 1 neg. edge irqc mode idl2 trigger 0 level 1neg. edge irqd mode xxl1 xxl0 enabled ipl 00 no 0 01 yes 1 10 yes 2 11 yes 3 dma ipl f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 18 dsp56311 users manual motorola programming sheets figure b-7. interrupt priority register C peripherals (iprCp) central processor * = reserved, program as 0 interrupt priority x:$ffff read/write reset = $000000 register (ipr Cp) hpl1 hpl0 enabled ipl 00 no 01 yes 0 10 yes 1 11 yes 2 host ipl s0l1 s0l0 enabled ipl 00 no 01 yes 0 10 yes 1 11 yes 2 essi0 ipl 1514131211109876543210 s1l1 s1l0 sol1 s0l0 hpl1 hpl0 23 22 21 20 19 18 16 17 scl0 scl1 t0l0 t0l1 * 0 * 0 * 0 * 0 * 0 * 0 $0 * 0 * 0 * 0 * 0 $0 * 0 * 0 * 0 * 0 $0 s1l1 s1l0 enabled ipl 00 no 01 yes 0 10 yes 1 11 yes 2 essi1 ipl scl1 scl0 enabled ipl 00 no 01yes0 10yes1 11yes2 sci ipl f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 19 figure b-8. phase lock loop control register (pctl) pll 1514131211109876543210 mf7 mf5 mf4 mf3 mf2 mf1 mf0 19 18 17 16 23 22 21 20 pen cod pd1 pd3 mf6 pd2 xtld xtlr df2 df1 df0 mf11 pd0 pstp mf10 mf9 mf8 pll control register (pctl) x:$fffffd read/write reset = $000000 xtal disable bit (xtld) 0 = enable xtaloscillator 1 = extal driven from an external source clock output disable (cod) 0 = 50% duty cycle clock 1 = pin held in high state crystal range bit (xtlr) 0 = external xtal freq> 200khz 1 = external xtal freq < 200khz predivision factor bits (pd0 C pd3) pd3 C pd0 predivision factor pdf $0 $1 $2 ? ? ? $f 1 2 3 ? ? ? 16 multiplication factor bits mf0 C mf11 mf11 C mf0 multiplication factor mf $000 $001 $002 ? ? ? $fff $fff 1 2 3 ? ? ? 4095 4096 pstp and pen relationship pstp pen operation during stop pll oscillator 0 1 disabled disabled 1 0 disabled enabled 1 1 enabled enabled division factor bits (df0 C df2) df2 C df0 division factor df $0 $1 $2 ? ? ? $7 2 0 2 1 2 2 ? ? ? 2 7 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 20 dsp56311 users manual motorola programming sheets figure b-9. host receive and host transmit data registers host 1514131211109876543210 19 18 17 16 23 22 21 20 receive high byte receive middle byte receive low byte host receive data register (hrx) x:$ffec6 read only reset = empty host receive data (usually read by program) 1514131211109876543210 19 18 17 16 23 22 21 20 transmit high byte transmit middle byte transmit low byte host transmit data (usually loaded by program) host transmit data register (htx) x:$ffec7 write only reset = empty f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 21 figure b-10. host control and host status registers host 76543210 15 * = reserved, program as 0 * 0 * 0 * 0 dsp side host receive data full 1 = 3 read 0 = 3 wait hcp hrdf hf1 htde hf0 host flags read only host command pending 1 = 3 ready 0 = 3 wait host transmit data empty 1 = 3 write 0 = 3 wait * 0 host staus register (hsr) x:$ffffc3 read only reset = $2 76543210 15 * 0 * 0 * 0 host receive interrupt enable 1 = enable 0 = disable hcie hrie hf3 htie hf2 host flag 2 host command interrupt enable host transmit interrupt enable 1 = enable 0 = disable * 0 host control register (hcr) x:$ffffc2 read /write reset = $0 if hrdf = 1 if htde = 1 1 = enable 0 = disable if hcp = 1 host flag 3 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 22 dsp56311 users manual motorola programming sheets figure b-11. host base address and host port control registers host 76543210 15 ba5 ba3 ba7 ba4 ba6 * 0 host base address register (hbar) x:$ffffc5 reset = $80 8 ba8 ba9 ba10 * 0 1514131211109876543210 haen hren hcsen ha9en ha8en hgen * = reserved, program as 0 hen * 0 hap hrp hcsp hdds hrod hmux hdsp hasp host port control x:$ffffc4 reset = $0 host acknowledge enable 0 ? hack = gpio host request enable 0 ? hreq/hack = gpio, 1 ? hreq = hreq, if hdrq = 0 host chip select enable 0 ? hcs/hai0 = gpio, 1 ? hcs/ha10 = hc8, if hmux = 0 1 ? hcs/ha10 = hc10, if hmux = 1 host address line 9 enable 0 ? ha9 = gpio, 1 ? ha9 = ha9 host address line 8 enable 0 ? ha8 = gpio, 1 ? ha8 = ha8 host gpio port enable 0 = gpio pins disable, 1 = gpio pin enable host acknowledge polarity 0 = hack active low, 1 = hack active high host chip select polarity 0 = hcs active low host dual data strobe 0 = single strobe, 1 = dual strobe host multiplexed bus 0 = nonmultiplexed, 1 = multiplexed host address strobe polarity 0 = strobe active low, 1 = strobe active high host data strobe polarity 0 = strobe active low, 1 = strobe active high host enable 0 ? hi08 disable 1 ? hi08 enable pins = gpio register (hpcr) read/write if hdrq & hren = 1, hack = hack host request open drain hdrq hrod hren/hew 0 0 1 1 0 1 0 1 1 1 1 1 htrq & hrrq enable 1 = hcs active high host request polarity hdrq hrp 0 0 1 1 0 1 0 1 hreq active low hreq active high htrq,hrrq active low htrq,hrrq active high f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 23 figure b-12. interrupt control and interrupt status registers host processor side interrupt control register (icr) x:$ read/write transmit request enable dma off 0 = interrupts disabled 1 = interrupts enabled dma on 0 = dsp ? host 1 = host ? dsp host flags write only initialize (write only) host little endian receive request enable dma off 0 = ? interrupts disabled 1 = interrupts enabled dma on 0 = host ? dsp 1 = dsp ? host 0 = ? no action 1 = ? initialize dma hdrq hreq/htrq hack/hrrq 0 hreq hack 1 htrq hrrq reset = $0 76 5 4 321 0 * = reserved, program as 0 * 0 rxdf hf3 txde hf2 hreq dma trdy interrupt status register (isr) $2 read/write reset = $06 transmit data register empty 0 = wait 1 = write transmitter ready 0 = data in hi 1 = data not in hi dma status 0 = 3 dma disabled 1 = ? dma enabled host flags read only receive data register full 0 = wait 1 = read host request 0 = 3 hreq deasserted 1 = ? hreq asserted 76 5 4 321 0 rreq hf1 treq hf0 init hlend hdrq * 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 24 dsp56311 users manual motorola programming sheets figure b-13. interrupt vector and command vector registers host 76543210 iv0 iv4 iv1 iv3 iv7 iv5 interrupt vector register (ivr) iv2 reset = $0f contains the interruptvectoror number iv6 76543210 hc0 hc4 hc1 hc3 hc7 hc5 command vector register (cvr) hc2 reset = $2a contains the host command interrupt addressr hc6 host vector contains host command interrupt address 3 2 host command handshakes executing host command interrupts f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 25 figure b-14. host receive and host transmit data registers host processor side 7070 0 7 host receive data (usually read by program) receive byte registers $7, $6, $5, $4 read only reset = $00 transmit byte registers $7, $6, $5, $4 write only reset = $00 receive byte registers $6 $5 $4 0 0 000000 0 7 $7 receive middle byte receive high byte not used receive low byte 7070 0 7 host transmit data (usually loaded by program) $6 $5 $4 0 0 000000 0 7 $7 transmit middle byte transmit high byte not used transmit low byte f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 26 dsp56311 users manual motorola programming sheets figure b-15. essi control register a (cra) essi 1514131211109876543210 pm7 pm5 pm4 pm3 pm2 pm1 pm0 19 18 17 16 23 22 21 20 alc wl0 wl1 ssc1 * = reserved, program as 0 pm6 * 0 * 0 * 0 * 0 word length control wl2 wl1 wl0 number of bits/word 0008 00112 01016 01124 1 0 0 32 (data in first 24 bits) 1 0 1 32 (data in last 24 bits) 110reserved 111reserved essi control register a (crax) essi0 :$ffffb5 read/write essi1 :$ffffa5 read/write reset = $000000 select sc1 as tx#0 drive enable 0 = sc1 functions as serial i/o flag 1 = functions as driver enable of tx#0 external buffer frame rate divider control dc4:0 = $00-$1f (1 to 32) divide ratio for normal mode # of time slots for network prescaler range 0 = ? 8 1 = ? 1 prescale modulus select pm7:0 = $00-$ff ( ? 1 to ? 256) psr = 1 and pm[7:0] = $00 is forbidden * 0 wl2 dc4 dc3 dc2 dc1 dc0 psr alignment control 0 = 16-bit data left aligned to bit 23 1 = 16-bit data left aligned to bit 15 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 27 figure b-16. essi control register b (crb) essi 1514131211109876543210 fsl0 sckd scd2 scd1 scd0 of1 of0 19 18 17 16 23 22 21 20 tie rie rlie reie shfd teie te0 te1 te2 mod syn ckp transmit 2 enable (syn=1 only) 0 = disable 1 = enable shift direction 0 = msb first 1 = lsb first frame sync relative timing (wl frame sync only) 0 = with 1st data bit 1 = 1 clock cycle earlier than 1st data bit mode select 0 = normal 1 = network clock polarity (clk edge data & frame sync clocked out/in) 0 = out on rising / in on falling 1 = in on rising / out on falling sync/async control (tx & rx transfer together or not) 0 = asynchronous 1 = synchronous essi control register b (crbx) essi0 :$ffffb6 read/write essi1 :$ffffa6 read/write reset = $000000 transmit 1 enable (syn=1 only) 0 = disable 1 = enable transmit interrupt enable 0 = disable 1 = enable receive interrupt enable 0 = disable 1 = enable transmit last slot interrupt enable 0 = disable 1 = enable receive last slot interrupt enable 0 = disable 1 = enable transmit exception interrupt enable 0 = disable 1 = enable receive exception interrupt enable 0 = disable 1 = enable frame sync polarity 0 = high level (positive) 1 = low level (negative) tlie re fsp fsr fsl1 output flag x if syn = 1 and scd1 = 1 ofx ? scx pin clock source direction 0 = external clock 1 = internal clock transmit 0 enable 0 = disable 1 = enable receiver enable 0 = disable 1 = enable fsl1 fsl0 frame sync length tx rx 0 0 word word 0 1 bit word 10bit bit 1 1 word bit serial control direction bits 0 = input 1 = output f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 28 dsp56311 users manual motorola programming sheets figure b-17. essi status register (ssisr) essi 76543210 if0 if1 rfs tue roe rdf tde * = reserved, program as 0 23 * 0 tfs receive frame sync 0 = wait 1 = frame sync occurred transmitter underrun error flag 0 = ok 1 = error receiver overrun error flag 0 = ok 1 = error transmit data register empty 0 = wait 1 = write transmit frame sync 0 = sync inactive 1 = sync active receive data register full 1 = read serial input flag 0 if scd0 = 0, syn = 1, & te1 = 0 latch sc0 on fs serial input flag 1 if scd1 = 0, syn = 1, & te2 = 0 latch sc0 on fs 0 = wait ssi status bits essi status register (ssisrx) essi0: $ffffb7 (read) essi1: $ffffa7 (read) f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 29 figure b-18. essr transmit and receive slot mask registers (tsm, rsm) essi 1514131211109876543210 rs23 rs21 rs20 rs19 rs18 rs17 rs16 16 23 * = reserved, program as 0 rs22 * 0 rs31 rs30 rs29 rs28 rs27 essi receive slot mask a rsmax essi0: $ffffb2 read/write essi1: $ffffa2 read/write reset = $ffff essi receive slot mask b rsmbx essi0: $ffffb1 read/write essi1: $ffffa1 read/write reset = $ffff essi transmit slot mask a tsmax essi0: $ffffb4 read/write essi1: $ffffa4 read/write reset = $ffff essi transmit slot mask b tsmbx essi0: $ffffb3 read/write essi1: $ffffa3 read/write reset = $ffff essi receive slot mask a essi receive slot mask b essi transmit slot mask a essi transmit slot mask b 1514131211109876543210 rs7 rs5 rs4 rs3 rs2 rs1 rs0 16 23 * = reserved, program as 0 rs6 * 0 rs15 rs14 rs13 rs12 rs11 1514131211109876543210 ts23 ts21 ts20 ts19 ts18 ts17 ts16 16 23 * = reserved, program as 0 ts22 * 0 ts31 ts30 ts29 ts28 ts27 1514131211109876543210 ts7 ts5 ts4 ts3 ts2 ts1 ts0 16 23 * = reserved, program as 0 ts6 * 0 ts15 ts14 ts13 ts12 ts11 essi receive slot mask 0 = ignore time slot 1 = active time slot essi receive slot mask 0 = ignore time slot 1 = activ e time slot essi transmit slot mask 0 = ignore time slot 1 = activ e time slot * 0 ts10 ts9 ts8 essi transmit slot mask 0 = ignore time slot 1 = active time slot ts26 ts25 ts24 * 0 rs10 rs9 rs8 rs26 rs25 rs24 * 0 * 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 30 dsp56311 users manual motorola programming sheets figure b-19. sci control register (scr) sci port e control register (pcre) sci control register (scr) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 woms wake sbk ssftd wds2 wds1 wds0 23 * = reserved, program as 0 rwu * 0 sckp stir tmie tie rie 1514131211109876543210 pc1 pc0 * = reserved, program as 0 ilie te re * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 pc2 $0 $0 $0 port e pin control 0 = general-purpose i/o pin 1 = sci pin sci shift direction 0 = lsb first 1 = msb first send break 0 = send break, then revert 1 = continually send breaks receiver wakeup enable 0 = receiver has awakened 1 = wakeup function enabled receiver enable 0 = receiver disabled 1 = receiver enabled wired-or mode select 1 = multidrop 0 = point to point wakeup mode select 0 = idle line wakeup 1 = address bit wakeup word select bits 0 0 0 = 8-bit synchronous data (shift register mode) 0 0 1 = reserved 0 1 0 = 10-bit asynchronous (1 start, 8 data, 1 stop) 0 1 1 = reserved 1 0 0 = 11-bit asynchronous (1 start, 8 data, even parity, 1 stop) 1 0 1 = 11-bit asynchronous (1 start, 8 data, odd parity, 1 stop) 1 1 0 = 11-bit multidrop (1 start, 8 data, data type, 1 stop) 1 1 1 = reserved port e control register (pcre) x:$ffff9f read/write reset = $000000 transmitter enable 0 = transmitter disable 1 = transmitter enable transmit interrupt enable 0 = transmit interrupts disabled 1 = transmit interrupts enabled idle line interrupt enable 0 = idle line interrupt disabled 1 = idle line interrupt enabled receive interrupt enable sci clock polarity 0 = clock polarity is positive 1 = clock polarity is negative sci timer interrupt rate 0 = ? 32, 1 = 3 1 timer interrupt enable 0 = timer interrupts disabled 1 = timer interrupts enabled 0 = receive interrupt disabled 1 = idle line interrupt enabled register (scr) address x:$ffff9c read/write sci control reie 16 sci receive exception inerrupt 0 = receive interrupt disable 1 = receive interrupt enable f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 31 figure b-20. sci status and clock control registers (ssr, sccr) sci sci clock control register (sccr) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 cd7 cd5 cd4 cd3 cd2 cd1 cd0 23 * = reserved, program as 0 cd6 * 0 tcm rcm scp cod cd11 23 76543210 tdretrne * = reserved, program as 0 cd10 cd9 cd8 * 0 rdrf $0 idle or pe fe r8 sci status register (ssr) address x:$ffff93 read only reset = $000003 received bit 8 0 = data 1 = address framing error flag 0 = no error 1 = no stop bit detected parity error flag 0 = no error 1 = incorrect parity detected overrun error flag 0 = no error 1 = overrun detected idle line flag 0 = idle not detected 1 = idle state receive data register full 0 = receive data register full 1 = receive data register empty transmitter data register empty 0 = transmitter data register full 1 = transmitter data register empty transmitter empty 0 = transmitter full 1 = transmitter empty clock divider bits cd11 C cd0) cd11 C cd0 i cyc rate $000 i cyc /1 $001 i cyc /2 $002 i cyc /3 ?? ?? ?? $ffe i cyc /4095 $fff i cyc /4096 sci clock prescaler 0 = ? 1 1 = ? 8 sci status register (ssr) clock out divider 0 = divide clock by 16 before feed to sclk 1 = feed clock to directly to sclk clock divider bits cd11 C cd0) tcm rcm tx clock rx clock sclk pin mode 0 0 internal internal output synchronous/asynchronous 0 1 internal external input asynchronous only 1 0 external internal input asynchronous only 1 1 external external input synchronous/asynchronous receiver clock mode/source 0 = internal clock for receiver 1 = external clock from sclk transmitter clock mode/source 0 = internal clock for transmitter 1 = external clock from sclk $3 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 32 dsp56311 users manual motorola programming sheets figure b-21. sci receive and transmit data registers (srx, trx) sci 23 16 15 8 7 0 x:$ffff97 x:$ffff96 x:$ffff95 stx stx stx x0 a b c sci transmit data registers address x:$ffff95 C x:$ffff97 write reset = xxxxxx unpacking txd sci transmit sr sci transmit data registers sci receive data registers x:$ffff94 stxa 23 16 15 8 7 0 srx srx srx a b c packing rxd sci receive sr sci receive data registers address x:$ffff98 C x:$ffff9a read reset = xxxxxx x:$ffff9a x:$ffff99 x:$ffff98 note: stx is the same register decoded at four different addresses note: stx is the same register decoded at three different addresses f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 33 figure b-22. timer prescaler load/count register (tplr, tpcr) timers 1514131211109876543210 19 18 17 16 23 22 21 20 ps0 ps1 * 0 prescaler preload value (pl [0:20]) * = reserved, program as 0 1514131211109876543210 19 18 17 16 23 22 21 20 * 0 current value of prescaler counter (pc [0:20]) timer prescaler load register tplr:$ffff83 read/write reset = $000000 timer prescaler count register tpcr:$ffff82 read only reset = $000000 * = reserved, program as 0 ps (1:0) prescaler clock source 00 internal clk/2 01 tio0 10 tio1 11 tio2 * 0 * 0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 34 dsp56311 users manual motorola programming sheets figure b-23. timer control/status register (tcsr) 1514131211109876543210 tc3 tc1 tc0 tcie tqie te 19 18 17 16 23 22 21 20 tcf tc2 pce do di dir tof trm inv timers * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 timer enable bit 0 0 = timer disabled 1 = timer enabled timer overflow interrupt enable bit 1 0 = overflow interrupts disabled 1 = overflow interrupts enabled inverter bit 8 0 = 0- to-1 transitions on tio input increment the counter, or high pulse width measured, or high pulse output on tio 1 = 1-to-0 transitions on tio input increment the counter, or low pulse width measured, or low pulse output on tio timer compare interrupt enable bit 2 0 = compare interrupts disabled 1 = compare interrupts enabled timer control/status register tcsr0:$ffff8f read/write tcsr1:$ffff8b read/write tcsr2:$ffff87 read/write reset = $000000 * = reserved, program as 0 timer control bits 4 C 7 (tc0 C tc3) tc (3:0) tio clock mode 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 gpio output output input input input input output C output output C C C C C internal internal internal external internal internal internal internal C internal internal C C C C C timer timer pulse timer toggle event counter input width input period capture pulse width modulation reserved watchdog pulse watchdog toggle reserved reserved reserved reserved reserved timer reload mode bit 9 1 = timer is reloaded when selected condition occurs 0 = timer operates as a free running counter timer overflow flag bit 20 0 = 1 has been written to tcsr(tof), or timer overflow interrupt serviced 1 = counter wraparound has occurred direction bit 11 0 = tio pin is input 1 = tio pin is output data output bit 13 0 = zero written to tio pin 1 = one written to tio pin data input bit 12 0 = zero read on tio pin 1 = one read on tio pin timer compare flag bit 21 0 = 1 has been written to tcsr(tcf), or timer compare interrupt serviced 1 = timer compare has occurred prescaled clock enable bit 15 0 = clock source is clk/2 or tio 1 = clock source is prescaler output f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 35 figure b-24. timer load, compare, count registers (tlr, tcpr, tcr) timers 1514131211109876543210 19 18 17 16 23 22 21 20 timer reload value timer load register tlr0:$ffff8e write only reset = $000000 tlr1:$ffff8a write only tlr2:$ffff86 write only timer compare register tcpr0:$ffff8d read/write reset = $000000 tcpr1:$ffff89 read/write tcpr2:$ffff85 read/write timer count register tcr0:$ffff8c read only tcr1:$ffff88 read only tcr2:$ffff84 read only reset = $000000 1514131211109876543210 19 18 17 16 23 22 21 20 value compared to counter value 1514131211109876543210 19 18 17 16 23 22 21 20 timer count value f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 36 dsp56311 users manual motorola programming sheets figure b-25. host data direction and host data registers (hddr, hdr) gpio 1514131211109876543210 dr5 dr4 dr3 dr2 dr1 dr0 dr6 dr15 dr14 dr13 dr12 dr8 dr11 dr9 dr10 x:$ffffc8 reset = $0 write drx = 0 ? hix is input drn = 1 ? hix is output 1514131211109876543210 d5 d4 d3 d2 d1 d0 d6 d15 d14 d13 d12 d8 d11 d9 d10 x:$ffffc9 reset = undefined write drn holds value of corresponding hi08 gpio pin. dr7 d7 function depends on hddr. port b (hi08) host data direction register host data register f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 37 figure b-26. port c registers (pcrc, prrc, pdrc) gpio 236543210 pc5 pc4 pc3 pc2 pc1 pc0 port c control register x:$ffffbf reset = $0 (pcrc) readwrite * 0 * = reserved, program as 0 * 0 pcn = 1 ? port pin configured as essi pcn = 0 ? port pin configured as gpio port c (essi0) 236543210 pdc5 pdc4 pdc3 pdc2 pdc1 pdc0 port c direction register x:$ffffbe reset = $0 (prrc) readwrite * 0 * 0 pdcn = 1 ? port pin is output pdcn = 0 ? port pin is input 236543210 pd5 pd4 pd3 pd2 pd1 pd0 port c gpio data register x:$ffffbd reset = $0 (pdrc) readwrite * 0 * 0 if port pin n is gpio input, then pdn reflects the value on port pin n. if port pin n is gpio output, then value written to pdn is reflected on port pin n. sc00 sc01 sc02 sck0 srd0 std0 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 38 dsp56311 users manual motorola programming sheets figure b-27. port d registers (pcrd, prrd, pdrd) gpio 236543210 pc5 pc4 pc3 pc2 pc1 pc0 port d control register x:$ffffaf reset = $0 (pcrd) readwrite * 0 * = reserved, program as 0 * 0 pcn = 1 ? port pin configured as essi pcn = 0 ? port pin configured as gpio port d (essi1) 236543210 pdc5 pdc4 pdc3 pdc2 pdc1 pdc0 port d direction register x:$ffffae reset = $0 (prrd) readwrite * 0 * 0 pdcn = 1 ? port pin is output pdcn = 0 ? port pin is input 236543210 pd5 pd4 pd3 pd2 pd1 pd0 port d gpio data register x:$ffffad reset = $0 (pdrd) readwrite * 0 * 0 if port pin n is gpio input, then pdn reflects the value on port pin n. if port pin n is gpio output, then value written to pdn is reflected on port pin n. sc10 sc11 sc12 sck1 srd1 std1 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 39 figure b-28. port e registers (pcre, prre, pdre) gpio 236543210 pc2 pc1 pc0 port e control register x:$ffff9f reset = $0 (pcre) readwrite * 0 * = reserved, program as 0 * 0 pcn = 1 ? port pin configured as sci pcn = 0 ? port pin configured as gpio port e (sci) 236543210 pdc2 pdc1 pdc0 port e direction register x:$ffff9e reset = $0 (prre) readwrite * 0 * 0 pdcn = 1 ? port pin is output pdcn = 0 ? port pin is input 236543210 pd2 pd1 pd0 port e gpio data register x:$ffff9d reset = $0 (pdre) readwrite * 0 * 0 if port pin n is gpio input, then pdn reflects the value on port pin n. if port pin n is gpio output, then value written to pdn is reflected on port pin n. * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 rxd txd sclk f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 40 dsp56311 users manual motorola programming sheets figure b-29. efcop counter and control status registers (fcnt and fcsr) efcop filter count register (fcnt) y:$ffffb3 read/write reset = $000000 1514131211109876543210 19 18 17 16 23 22 21 20 filter count value * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * = reserved, program as 0 1514131211109876543210 fpcr fom1fom0 fadp flt fen 19 18 17 16 23 22 21 20 fmlc fd fsat fdoe fsco * 0 * 0 * 0 * 0 * 0 * 0 * 0 efcop control status register (fcsr) y:$ffffb4 read/write reset = $000000 * = reserved, program as 0 * 0 * 0 fd f fdie obf ibe cont fupd filter data output buffer full bit 15 0 = fdor is not full 1 = fdor is full (read only status bit) filter data input buffer empty bit 14 0 = fdir is not empty 1 = fdir is empty (read only status bit) filtercontention bit 13 0 = no dual access occurred 1 = core and efcop tried to access (read only status bit) the same bank in fdm or fcm filtersaturation bit 12 0 = no fmac underflow/overflow 1 = fmac underflow/overflow occurred (read only status bit) filterdata output interrupt enable bit 11 0 = interrupt disabled 1 = interrupt enabled (read/write control bit) filterdata input interrupt enable bit 10 0 = interrupt disabled 1 = interrupt enabled (read/write control bit) filter enable bit 0 0 = efcop disabled 1 = efcop enabled filter type bit 1 0 = fir 1 = iir adaptive mode enable bit 2 0 = adaptive mode disabled 1 = adaptive mode enabled update mode enable bit 3 0 = update mode disabled 1 = update mode enabled filter operating modebits 5C4 00 = real 10 = alt. complex 01 = complex 11 = magnitude channels bit 6 0 = single channel 1 = multichannel coefficients bit 8 0 = not shared 1 = shared initialization bit 7 0 = preprocess initialization 1 = no initialization f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
programming sheets motorola programming reference b- 41 figure b-30. efcop facr, fdba, fcba, and fdch registers efcop 1514131211109876543210 fsa fsm filter 19 18 17 16 23 22 21 20 fisl * 0 * 0 * 0 * 0 * 0 * 0 * 0 efcop alu control register (facr) y:$ffffb5 read/write reset = $000000 * = reserved, program as 0 * 0 * 0 rounding saturation mode bit 4 0 = disabled 1 = enabled sixteen-bit arithmetic mode bit 5 0 = disabled 1 = enabled filter rounding mode bits 3C2 00 = convergent 10 = truncation filter input scaling bit 6 0 = not used 1 = used * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 mode scaling filter scaling bits 1C0 00 = ? 110 = ? 16 01 = ? 8 11 = reserved 01 = twos complement 11 = reserved efcop data base address (fdba) y:$ffffb6 read/write reset = $000000 1514131211109876543210 data base address (fdm pointer) efcop coefficient base address (fcba) y:$ffffb7 read/write reset = $000000 1514131211109876543210 coefficient base address (fdm pointer) 1514131211109876543210 19 18 17 16 23 22 21 20 * 0 * 0 * 0 * 0 * 0 * 0 efcop decimation/channel count register (fdch) y:$ffffb8 read/write reset = $000000 * = reserved, program as 0 * 0 * 0 * 0 * 0 * 0 * 0 filter deci- mation value * 0 * 0 filter channels value f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
b- 42 dsp56311 users manual motorola programming sheets f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -1 index a aar see address attribute registers adaptive filter 10-1 adder modulo 1-7 offset 1-7 reverse-carry 1-7 address arithmetic logic unit (address alu) 1-7 address attribute registers (aar1-aar4) 4-22 address generation unit 1-7 address mode wakeup 8-3 addressing modes 1-7 agu see address generation unit alc bit 7-16 alignment control bit (alc) 7-16 alu see address arithmetic logic unit see data arithmetic logic unit asynchronous data transfer 8-2 asynchronous mode 7-10 , 8-2 , 8-15 , 8-17 , 8-18 , 8-19 , 8-20 asynchronous modes 8-19 asynchronous multidrop mode 8-17 b barrel shifter 1-6 bchg 5-2 bclr 5-2 bit 6-15 , 6-30 , 6-31 bit, sticky 10-2 bit-oriented instructions (bchg, bclr, bset, btst, brclr, brset, bsclr, bsset, jclr, jset, jsclr, and jsset) 5-2 bootstrap 3-1 , 3-3 , 4-4 program 4-4 program options, invoking 4-4 bootstrap code 8-7 bootstrap mode 7 4-3 boundary scan register (bsr) 4-25 brclr 5-2 break 8-16 brset 5-2 bsclr 5-2 bset 5-2 bsr see boundary scan register bsset 5-2 btst 5-2 bus address 2-3 data 2-3 external address 2-6 external data 2-6 internal 1-10 multiplexed 2-3 non-multiplexed 2-3 c capture measurement mode 9-15 cellular base station 10-1 central processing unit (cpu) 1-1 chip select signal 6-4 chip-select logic 6-17 clock 1-5 , 2-5 clock generator (clkgen) 1-8 clock generator features 8-19 clock generator, essi 7-11 clock out divider bit (cod) 8-21 cmos 1-5 cod bit 8-21 code compatible 1-5 real fir filter with polling 10-25 codec systems 7-4 codecs 7-10 , 7-13 command vector register (cvr) 6-27 compare register (tcpr) 9-3 configure an essi exception 7-9 configure interrupt trigger 9-4 configuring a timer exception 9-4 control hi08 operating mode 6-17 control register a 7-14 bit 18alignment control bit (alc) 7-16 see also essi control register b 7-18 see also essi counter overflow 9-25 counter preload operation 9-26 cra see control register a crb see control register b cross-correlation filtering 10-1 crystal frequency 8-6 cvr see command vector register f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -2 dsp56311 users manual motorola d data and control host processor registers 6-13 data arithmetic logic unit 1-6 multiplier-accumulator (mac) 1-6 registers 1-6 data strobe 6-4 data transfer methods 5-3 interrupts 5-3 polling 5-3 data/coefficient transfer contention bit 10-2 debug mode entering 2-21 external indication 2-21 warning 3-8 decimation 10-1 , 10-4 , 10-7 , 10-13 , 10-14 example (sequence of even real numbers) 10-30 decimation/channel count register 10-13 , 10-14 dfi 10-2 dfii 10-2 direct form 1 10-2 direct form 2 10-2 direct memory access (dma) 6-9 efcop and 10-2 request source bits (drs4-drs0) 4-10 restrictions on efcop 10-5 triggered by timer 9-21 dma 6-6 dma see direct memory access dma transfers and host bus 6-9 do loop 1-8 double data strobe 2-3 double host request bit (hdrq) 6-25 dram 1-10 ds 2-3 dsp core programming model 6-13 dsp transmit interrupt 7-20 dsp56300 core 1-1 dsp56300 family manual 1-1 , 1-5 , 6-9 , 6-21 , 6-31 dsp56307 technical data 1-1 dsp-to-host transfers 6-6 dual host requests enabled 6-10 dynamic memory configuration switching 3-7 e echo cancellation 10-1 echo cancellation filter 10-31 efcop 1-2 , 1-14 control and status registers 10-4 core transfers 10-2 dma restrictions 10-4 dma transfers 10-2 facr 10-11 , 10-12 fcba 10-13 fcm 10-4 fcnt 10-7 fcsr 10-8 fdba 10-12 fdch 10-13 , 10-14 fdir 10-7 fdm 10-4 fdor 10-7 filter coefficient memory bank 10-2 filter data memory 10-2 fkir 10-7 fmac 10-6 initialization 10-2 input data buffer 10-2 interrupt vector table 10-6 memory bank base address pointers 10-2 memory banks 10-4 memory organization 10-4 pmb 10-4 programming model 10-6 saturation mode 10-6 sixteen-bit arithmetic mode 10-6 enable/disable receive portion of essi 7-21 enable/disablesan interrupt at beginning of last slot of a frame when essi is in network mode 7-20 enhanced filter coprocessor (efcop) 1-4 , 1-14 enhanced synchronous serial interface (essi) 2-15 , 2-17 , 7-1 see also essi ensure proper operation of the essi 7-7 equalization 10-1 essi 1-13 , 2-3 , 2-15 , 2-17 , 5-2 , 7-1 after reset 7-6 asynchronous mode 7-21 asynchronous modes 7-11 asynchronous operating mode 7-11 audio enhancements 7-3 byte format 7-13 clock generator 7-17 clock generator 7-11 clock sources 7-4 codecs 7-13 configure an essi exception 7-9 control and time slot registers 7-6 control direction of sc2 i/o signal 7-23 control divide ratio for programmable frame rate dividers 7-16 control fixed divide-by-eight prescaler in series with variable prescaler 7-16 control functionality of sc1 signal 7-15 control register a 7-14 control register a (cra) alignment control 7-16 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -3 frame rate divider control 7-16 prescale modulus select 7-17 prescaler range 7-16 select sc1 7-15 word length control 7-15 control register a (cra) bit definitions 7-14 control register b 7-18 control register b (crb) clock polarity 7-22 clock source direction 7-23 frame sync length 7-23 frame sync polarity 7-22 frame sync relative timing 7-23 mode select 7-22 receive enable 7-21 receive exception interrupt enable 7-19 receive interrupt enable 7-20 receive last slot interrupt enable 7-20 serial control direction 0 7-24 serial control direction 1 7-24 serial control direction 2 7-23 serial output flag 0 7-24 serial output flag 1 7-24 shift direction 7-23 synchronous/asynchronous 7-22 transmit 0 enable 7-21 transmit 1 enable 7-21 transmit 2 enable 7-22 transmit exception interrupt enable 7-20 transmit interrupt enable 7-20 transmit last slot interrupt enable 7-20 control register b bit definitions 7-19 control whether the receive and transmit functions occur synchronously or asynchronously with respect to each other 7-22 control which bit clock edge data and frame sync are clocked out and latched i 7-22 cra and crb 7-10 data and control signals 7-3 determine polarity of the receive and transmit frame sync signals 7-22 determine relative timing of the receive and transmit frame sync signal 7-23 determine shift direction of the transmit or receive shift register 7-23 dma services the transmitters 7-7 dsp receive data interrupt request 7-29 enable transfer of data from tx1 to transmit shift register 0 7-21 enable transfer of data from tx1 to transmit shift register 1 7-21 enable transfer of data from tx2 to transmit shift register 2 7-22 enable/disable a dsp transmit interrupt 7-20 enable/disable dsp receive data interrupt 7-20 enable/disable receive portion 7-21 exceptions 7-8 receive data 7-8 receive data with exception status 7-8 receive last slot interrupt 7-8 transmit data 7-9 transmit data with exception status 7-8 transmit last slot interrupt 7-8 flags 7-13 frame rate divider 7-10 frame sync generator 7-18 frame sync i/o signal 7-6 frame sync length 7-12 frame sync polarity 7-12 frame sync selection 7-11 frame sync signal 7-7 , 7-10 frame sync signal format 7-11 frame sync word length 7-12 frame synchronization signals 7-18 gated clock mode 7-3 gpio 7-6 gpio functionality 7-36 handle 24-bit fractional data 7-16 initialization 7-6 initialization example 7-7 internally generated clock and frame sync 7-7 interrupt service routine 7-9 interrupt trigger 7-9 interrupt trigger event 7-9 interrupts 7-8 multiple serial device selection 7-5 network enhancements 7-2 network mode 7-1 , 7-8 , 7-10 , 7-22 normal and network mode 7-21 normal and on-demand modes 7-21 normal mode 7-1 , 7-10 on-demand mode 7-10 , 7-15 , 7-21 operating modes 7-6 , 7-10 polling, interrupts, dma 7-7 port control register (pcr) 7-7 , 7-36 port control registers (c and d) 7-36 port data register (pdr) 7-38 port data registers (c and d) 7-38 port direction register (prr) 7-37 port direction registers (c and d) 7-37 programming model 7-14 receive and transmit interrupts 7-11 receive data register 7-31 receive frame sync edge 7-12 receive frame sync occurred during reception of word in serial receive data register 7-30 receive shift register 7-31 receive slot mask registers 7-14 , 7-35 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -4 dsp56311 users manual motorola received data register 7-14 reset 7-6 rx frame sync 7-11 rx frame sync pulses active 7-11 sc0 7-4 sc1 7-5 sc2 7-6 scd2 bit in the crb 7-6 sck 7-3 select length of data words transferred via essi 7-15 select length of frame sync to be generated or recognized, 7-23 select source of clock signal 7-23 serial control direction 1 bit 7-5 serial flag signal or receive clock signal 7-4 serial output flag 0 (of0) bit in the crb 7-4 single codec with asynchronous transmit and receive 7-5 specify divide ratio of prescale divider in essi clock generator 7-17 spi protocol 7-1 srd 7-3 ssisr 7-6 status register 7-29 status register 7-14 status register (ssisr) receive data register full 7-29 receive frame sync flag 7-30 receiver overrun error flag 7-29 serial input flag 0 7-31 serial input flag 1 7-30 transmit data register empty 7-29 transmit frame sync flag 7-30 transmitter underrun error flag 7-30 std 7-3 syn bit 7-11 synchronous mode 7-13 synchronous mode, multiple active transmitters 7-4 synchronous modes 7-11 synchronous operating mode 7-11 synchronous or asynchronous mode 7-4 , 7-5 te bit 7-19 time slot register 7-34 transmit data registers 7-34 transmit data signal 7-4 transmit enable bits 7-19 transmit enable sequence in on-demand mode 7-22 transmit interrupt is enabled 7-9 transmit shift registers 7-31 transmit slot mask registers 7-14 , 7-34 transmitter data out signal of transmit shift register tx2 7-5 tsr 7-9 tx and rx clocks 7-11 variable prescaler 7-16 word length frame sync 7-12 word length frame sync timing 7-12 essi control register a (cra) 7-14 essi control registers 7-14 see also control register a, b essi data and control signals sc0 7-4 sck 7-3 srd 7-3 std 7-3 essi programming model 7-14 essi receive data register (rx) 7-31 essi receive exception interrupt enable bit (reie) 7-19 essi receive shift register 7-31 essi receive slot mask registers (rsma, rsmb) 7-35 essi status register (ssisr) 7-29 essi status register (ssisr) bit definitions 7-29 essi time slot register (tsr) 7-34 essi transmit data registers 7-14 essi transmit data registers (tx2, tx1, tx0) 7-34 essi transmit exception interrupt enable bit (teie) 7-20 essi transmit shift registers 7-31 essi transmit slot mask registers (tsma, tsmb) 7-34 essi0 (gpio) 5-7 essi1 (gpio) 5-8 essi-related program the gpio pins as outputs or configure the pins in the pcr as essi signals 7-23 programming the essi to use an internal frame sync 7-23 example of how to initialize the essi 7-7 expansion memory 3-1 external address bus 2-6 external bus control 2-6 , 2-8 , 2-9 external data bus 2-6 external memory expansion port 2-6 external y i/o space 3-7 f fcm 10-2 fdm 10-2 features of clock generator 8-19 filter adaptive 10-1 cross-correlation 10-1 echo cancellation 10-31 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -5 fir 10-1 iir 10-1 , 10-2 multichannel 10-1 filter alu control register 10-11 , 10-12 filter coefficient base address 10-13 filter coefficient memory 10-2 filter control status register 10-8 filter count register 10-7 filter data base address 10-12 filter data input register 10-7 filter data memory bank 10-2 filter data output register 10-7 filter k-constant input register 10-7 filter multiplier and accumulator 10-6 finite impulse response filter 10-1 fir decimation by 2 10-30 filter 10-1 mode 10-1 no decimation 10-22 no decimation/polling 10-25 real mode (0) 10-22 , 10-25 , 10-30 single channel adaptive mode no decimation 10-31 dma and interrupts 10-34 polling 10-33 single channel 10-22 , 10-25 , 10-30 frame rate divider 7-10 frame sync i/o signal 7-6 frame sync length, essi 7-12 frame sync selection essi 7-11 frame sync signal 7-7 , 7-10 frame sync signal format, essi 7-11 frame synchronization signals, essi 7-18 frequency operation 1-5 functional groups 2-3 g global data bus 1-10 gpio 1-12 , 2-3 timers 2-3 gpio (essi0, port c) 5-7 gpio (essi1, port d) 5-8 gpio (hi08, port b) 5-6 gpio (sci, port e) 5-8 gpio (timer) 5-9 gpio functionality on essi 7-36 gpio functions 6-4 gpio port direction register (prr) 7-23 ground 2-4 pll 2-4 h ha8en bit 6-20 ha9en bit 6-20 handshaking mechanisms, hi08 6-6 hardware stack 1-8 hasp bit 6-19 cvr 6-15 hi08 hsr reflect status of the cvr 6-15 hcsen bit 6-20 hcsp bit 6-18 hddr 6-4 hdds bit 6-18 hdr and hddr functionality 6-16 hdr register 6-16 hdrq bit 6-25 hdsp bit 6-19 hen bit 6-19 hi08 1-12 , 2-3 , 2-11 , 2-12 , 2-13 , 2-14 , 5-2 , 6-1 (gpio) 5-6 cause the chip to execute an interrupt 6-27 caution 6-29 chip-select logic 6-17 command vector register (cvr) 6-8 configuring for host requests 6-9 control hi08 operating mode 6-17 control host request signals 6-20 control hreq signal for host receive data transfers 6-26 control output drive of host request signals 6-19 control polarity of host request signals 6-18 control register (icr) 6-23 controls direction of data flow for each hi08 signal configured as gpio 6-16 core communication with hi08 registers 6-13 core interrupts host command 6-8 receive data register full 6-8 transmit data empty 6-8 cvr host command 6-27 host vector 6-27 data registers (rxh/txh, rxm/txm, and rxl/txl) 6-23 data strobe 6-4 direct memory access (dma) 6-9 dma transfers and host bus 6-9 double-buffered mechanism 6-6 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -6 dsp56311 users manual motorola dsp core 6-6 dsp core interrupts 6-7 dsp interrupt routines 6-23 dsp side control registers 6-13 dsp side data registers 6-13 dsp side registers after reset 6-22 dsp to host data word 6-2 handshaking protocols 6-2 interrupts 6-2 mapping 6-2 transfer modes 6-2 dsp-side conrol registers host status register (hsr) 6-13 dsp-side control registers host base address register (hbar) 6-13 host control register (hcr) 6-13 host gpio data direction register (hddr) 6-13 host gpio data register (hdr) 6-13 host port control register (hpcr) 6-13 dsp-side registers after reset 6-22 dsp-to-host data transfers 6-21 dsp-to-host transfers 6-6 dual host requests enabled 6-10 dual-strobe bus 6-21 enable host requests via host request (hreq or htrq) signal 6-26 enable/disable signals configured as gpio 6-20 enabling host requests 6-9 external host address inputs 6-30 external host programmers model 6-23 force execution of any interrupt handler 6-8 force initialization of hi08 hardware 6-25 four kinds of reset 6-31 four reset types 6-22 free core to use its processing power on functions other than polling or interrupt routines 6-9 general-purpose flag for host-to-dsp communication 6-25 general-purpose flags for communication between the host and the dsp 6-7 gpio configuration options 6-16 hack signal 6-19 hack/hrrq handshake flags 6-23 handshake the execution of host command interrupts 6-27 handshaking mechanisms 6-6 handshaking protocol 6-6 handshaking protocols 6-6 core dma access 6-6 host requests 6-6 software polling 6-6 handshaking protocols, choosing 6-6 handshaking protocols, pros and cons of polling 6-7 hardware reset 6-22 , 6-31 hbar base address 6-17 hcr general-purpose flags for dsp-to-host communication 6-14 generate a host command interrupt request 6-14 generate a host receive data interrupt request 6-15 generate a host transmit data interrupt request 6-14 host receive interrupt enable 6-15 hddr 6-4 hddr and hdr, gpio mode 6-4 hdr and hddr functionality 6-16 hi08 to dsp core interface 6-1 hi08 to host processor interface 6-2 hold data value of corresponding bits of hi08 signals configured as gpio signals 6-16 host base address register (hbar) 6-17 host can access the hi08 in big-endian byte order 6-25 host can access the hi08 in little-endian byte order 6-25 host command 6-23 host commands 6-8 host control register host command interrupt enable 6-14 host control register host transmit interrupt enable 6-14 host control register (hcr) host flags 2, 3 6-14 host data direction register (hddr) 6-16 host data register (hdr) 6-16 host interrupt request pins (irqx) 6-9 host issues command requests to dsp 6-8 host issues vectored interrupt requests 6-23 host performs multiple reads from the hi08 port receive byte registers 6-6 host port control register (hpcr) 2-11 , 2-12 , 2-13 , 2-14 , 6-17 , 6-22 , 6-32 , 6-33 , b-4 , b-23 host processor registers 6-13 host receive data register (hrx) 6-6 , 6-22 host receive request (hrrq 6-9 host request line 6-4 host request pins 6-10 host side command vector register (cvr) 6-27 interface control register (icr) 6-24 interface status register (isr) 6-28 interface vector register (ivr) 6-30 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -7 receive byte registers (rxh, rxm, rxl) 6-30 registers after reset 6-31 transmit byte registers (txh, txm, txl) 6-30 host status register (hsr) 6-15 host to dsp data word 6-1 handshaking protocols 6-1 instructions 6-1 mapping 6-1 host transmit data register (htx) 6-21 host transmit data register (htx) 6-7 host-side register map 6-24 host-to-dsp data transfers 6-6 , 6-22 hpcr 6-4 host acknowledge enable 6-19 host acknowledge polarity 6-18 host address line 8 enable 6-20 host address line 9 enable 6-20 host address strobe polarity 6-19 host chip select enable 6-20 host chip select polarity 6-18 host data strobe polarity 6-19 host dual data strobe 6-18 host enable 6-19 host gpio port enable 6-20 host multiplexed bus 6-19 host request enable 6-20 host request open drain 6-19 host request polarity 6-18 hreq pin when a single request line is used 6-10 hreq/htrq handshake flags 6-23 hsr general-purpose flags for host-to-dsp communication 6-15 host command pending 6-15 host flags 0, 1 6-15 host receive data full 6-16 host transmit data empty 6-15 indicate that host transmit data register (htx) is empty and can be written by dsp core 6-15 indicates that host receive data register (hrx) contains data from host processor 6-16 htx register 6-30 icr double host request 6-25 host flag 0 6-25 host flag 1 6-25 host little endian 6-25 initialize 6-25 receive request enable 6-26 transmit request enable 6-26 icr double host request bit 6-9 indicate state of hf2 in the hcr on dsp side 6-28 indicate that txh txm txl and hrx registers are empty 6-29 instructions and addressing modes. 6-4 interface control register (icr) 6-24 interface status registe (isr) 6-28 interrupt routines 6-8 interrupt vector number used with mc68000 family processor vectored interrupts 6-30 interrupt vector register (ivr) 6-30 interrupt-based techniques 6-23 isr host flag 2 6-28 host flag 3 6-28 host request 6-28 receive data register full 6-29 transmit data register empty 6-29 transmitter ready 6-29 masking interrupts 6-8 movep instruction 6-13 multiplexed bus mode 6-20 multiplexed bus modes 6-17 multiplexed mode 6-4 non-multiplexed bus mode 6-20 non-multiplexed mode 6-4 pipeline 6-6 polling techniques 6-23 , 6-29 receive and transmit data paths 6-4 receive byte registers 6-6 receive byte registers (rxh rxm rxl) 6-30 receive byte registers (rxh rxm rxl) contain data from dsp to be read by host processor 6-29 receive data full bit in the interface status register 6-7 receive data registers 6-4 receive registers (rxh rhm rhl) 6-7 register banks 6-4 request service from host 6-9 reserved interrupt vector addresses for application-specific service routines 6-8 resets, hardware and software 6-4 , 6-13 rreq and rxdf 6-26 select host command interrupt address for use by host command interrupt logic 6-27 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -8 dsp56311 users manual motorola select the interrupt address to be used 6-8 software polling 6-7 software reset 6-31 status register (isr) 6-23 stop command 6-24 stop instruction 6-31 stop mode 6-24 timing requirements 6-6 transmit byte registers 6-6 transmit byte registers (txh txm txl) 6-30 transmit byte registers (txh txm txl) are empty and can be written by host processor 6-29 transmit data empty bit in the interface status register 6-7 transmit data registers 6-4 transmit registers (txh txm txl) 6-7 trdy 6-29 vector registers (cvr and ivr) 6-23 hi08 gpio functions 6-4 hi08 icr 6-30 , 6-31 hlend bit 6-25 hmux bit 6-19 host address line 8 enable bit (ha8en) 6-20 host address line 9 enable bit (ha9en) 6-20 host address strobe polarity bit (hasp) 6-19 host base address register (hbar) 6-17 host base address register (hbar) 6-13 host chip select enable 6-20 host chip select enable bit (hcsen) 6-20 host chip select polarity bit (hcsp) 6-18 host control register (hcr) 6-14 host control register (hcr) 6-13 host data direction register (hddr) 6-16 host data receive register (hrx) 6-13 host data register (hdr) 6-16 host data strobe polarity bit (hdsp) 6-19 host data transmit register (htx) 6-13 host dual data strobe bit (hdds) 6-18 host enable bit (hen) 6-19 host gpio data direction register (hddr) 6-13 host gpio data register (hdr) 6-13 host interface 2-3 , 2-11 , 2-12 , 2-13 , 2-14 , 6-1 host little endian bit (hlend) 6-25 host multiplexed bus bit (hmux) 6-19 host port control register (hpcr) 2-11 , 2-12 , 2-13 , 2-14 , 6-13 , 6-17 , 6-22 , 6-32 , 6-33 , b-4 , b-23 host processor address space 6-23 host receive data full bit 6-7 host receive data register (hrx) 6-6 , 6-22 host receive request (hrrq 6-9 host request double 2-3 single 2-3 host request line 6-4 host request pins 6-10 host requests 6-6 host requests, enabling 6-9 host status register (hsr) 6-15 host status register (hsr) 6-13 host transmit data empty bit 6-7 host transmit data register (htx) 6-21 host transmit data register (htx) 6-7 host-to-dsp transfers 6-6 hpcr 6-4 hpcr register 2-11 - 2-14 , ??- 6-22 , 6-32 , 6-33 , b-4 , b-23 hr 2-3 hreq bit 6-28 hreq signal 6-26 hrx register 6-22 hsr register 6-15 htx register 6-21 i i/o space external y data memory 3-7 x data memory 3-5 y data memory 3-7 icr double host request bit 6-9 icr register 6-24 idle line interrupt enable bit (ilie) 8-13 idle line wakeup mode 8-3 if0 bit 7-31 iir filter 10-1 , 10-2 scaling 10-2 ilie bit 8-13 indicate state of hf3 in hcr on dsp side 6-28 infinite impulse response filter 10-1 init bit 6-25 initialization efcop 10-2 initialize bit (init) 6-25 initializing the timer 9-2 , 9-3 instruction cache 3-3 instruction cache 3-1 instruction set 1-5 interface control register (icr) 6-24 interface status register (isr) 6-28 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -9 interface vector register (ivr) 6-30 internal buses 1-10 internal program memory 3-1 internal y data memory 3-5 internal y i/o space 3-7 interrupt 1-8 essi 7-8 hi08 6-7 priority levels 4-7 sources 4-4 , 4-5 interrupt and mode control 2-9 interrupt conditions 5-2 interrupt control 2-9 interrupt dsp after last slot in frame ends regardless of receive mask register setting 7-20 interrupt handler, forcing execution 6-8 interrupt priority levels 4-7 interrupt priority register p (iprp) 4-7 interrupt routines, hi08 6-8 interrupt service routine 7-9 interrupt service routine (isr) 9-4 interrupt source priorities 4-8 interrupt sources 4-5 interrupt trigger event 7-9 interrupt trigger, configuring 7-9 interrupts 5-3 interrupts, hi08 hi08 handshaking protocols interrupts 6-6 interrupts, receive and transmit 7-11 iprp 4-7 isr host request bit (hreq) 6-28 isr register 6-28 ivr register 6-30 j jclr 5-2 joint test action group (jtag) 1-5 , 1-9 bsr 4-25 interface 2-20 jsclr 5-2 jset 5-2 jsset 5-2 jtag 1-9 k k-constant 10-1 l la register 1-8 lc register 1-8 load register (tlr) 9-3 logic 1-5 loop address register (la) 1-8 loop counter register (lc) 1-8 m m68hc11 sci interface 8-16 mac 1-6 manual conventions 1-2 mapping control registers 5-2 mc68000 family 6-30 mc68681 duart 8-16 measurement 9-11 measurement capture (mode 6) 9-11 measurement input period (mode 5) 9-11 measurement input width (mode 4) 9-11 memory allocation switching 3-2 configuration 3-7 dynamic switching 3-7 expansion 1-10 , 3-1 external expansion port 1-10 maps 3-8 off-chip 1-10 on-chip 1-9 shared 10-2 memory maps 3-8 , 3-9 , 3-10 , 3-11 , 3-12 , 3-13 , 3-14 , 3-15 , 3-16 , 3-17 , 3-18 , 3-19 , 3-20 , 3-21 , 3-22 , 3-23 , 3-24 , 3-25 , 3-26 , 3-27 , 3-28 memory switch mode 3-2 x data memory 3-4 y data memory 3-6 mips 1-5 mobile switching center 10-1 modd, modc, modb, and moda 8-7 mode control 2-9 modulo adder 1-7 move (move, movep) instructions 5-2 movep instruction 6-13 multichannel filter 10-1 multidrop mode 8-2 multiple serial device selection 7-5 multiplexed bus 2-3 multiplexed bus mode 6-20 multiplexed bus modes 6-17 multiplexed mode 6-4 multiplier-accumulator (mac) 1-6 n network enhancements to essi 7-2 network mode 7-8 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -10 dsp56311 users manual motorola network mode interrupt, essi 7-20 non-multiplexed bus 2-3 non-multiplexed mode 6-4 o of0Cof1 bits 7-19 off-chip memory expansion 3-1 offset adder 1-7 omr 1-8 , 4-11 once 1-5 once module 1-9 interface 2-20 once/jtag 2-3 on-chip emulation (once) module 1-9 on-chip memory 1-9 on-demand mode 7-10 operating 4-1 operating mode 4-1 , 4-2 essi 7-10 synchronous, essi 7-11 operating mode register 4-11 operating mode register (omr) 1-8 operating mode, hi08 6-17 operating modes 4-1 operational mode select, essi 7-22 p pab 1-10 pag 1-7 parity error bit (pe) 8-17 pc register 1-8 pcrc register 7-36 pcrd register 7-36 pcre register 8-25 pctl 4-21 pctl register 4-21 pcu 1-7 pdb 1-10 pdc 1-7 pdrc register 7-38 pdrd register 7-38 pdre register 8-26 pe bit 8-17 peripheral i/o expansion bus 1-10 peripherals programming bit-oriented instructions 5-2 data transfer methods 5-3 individual reset state 5-1 initializat steps 5-1 interrupts 5-3 mapping control registers 5-2 move (move, movep) instructions 5-2 polling 5-3 reading status registers 5-2 peripherals programming, guidelines 5-1 pic 1-7 pll 1-8 , 2-5 pll control register 4-21 pll control register (pctl) 4-21 pmb 10-4 pointers efcop memory bank base address 10-2 polling 5-3 port a 2-6 port b 2-3 , 2-13 , 5-6 port c 2-3 , 2-15 , 5-7 port c and d control registers 7-36 port c control register (pcrc) 7-36 port c data register (pdrc) 7-38 port c direction register (prrc) 7-37 port control register 7-23 port d 2-3 , 2-17 , 5-8 port d control register (pcrd) 7-36 port d data register (pdrd) 7-38 port d direction register (prrd) 7-37 port e 5-8 port e control register (pcre) 8-25 port e data register (pdre) 8-26 port e direction register (prre) 8-26 position independent code 1-7 power 2-4 low 1-5 management 1-5 standby modes 1-5 prescale divider, essi 7-17 prescaler counter 9-21 prescaler load register (tplr) 9-3 program address bus (pab) 1-10 program address generator (pag) 1-7 program control unit (pcu) 1-7 program counter register (pc) 1-8 program data bus (pdb) 1-10 program decode controller (pdc) 1-7 program interrupt controller (pic) 1-7 program memory expansion bus 1-10 program ram 3-1 program rom bootstrap 3-1 programming model efcop 10-6 essi 7-14 sci 8-9 prrc register 7-37 prrd register 7-37 prre register 8-26 essi f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -11 cra 7-3 pulse width modulation mode (mode 7) 9-11 r r8 bit 8-17 ram program 3-1 rcm bit 8-21 re bit 8-14 reading status registers 5-2 receive and transmit data paths 6-4 receive byte registers 6-6 receive byte registers (rxh, rxm, rxl) 6-30 receive clock mode source bit (rcm) 8-21 receive data register (rx) 7-31 receive data signal (rxd) 8-4 receive exception interrupt enable bit (reie) 7-19 receive exception interrupt, enable 7-19 receive frame sync edge, essi 7-12 receive frame sync flag bit (rfs) 7-30 receive shift register 7-31 receive slot mask registers (rsma, rsmb) 7-35 received bit 8 address bit (r8) 8-17 receiver enable bit (re) 8-14 receiver wakeup enable bit (sbk) 8-15 register banks 6-4 reie bit 7-19 reset 2-10 reset bus signals 2-6 , 2-7 clock signals 2-5 essi signals 2-15 , 2-17 host interface signals 2-11 interrupt signals 2-10 jtag signals 2-21 mode control 2-10 once signals 2-21 phase lock loop signals 2-6 sci signals 2-19 timers 2-20 resets, hardware and software 6-4 reverse-carry adder 1-7 rfs bit 7-30 rom bootstrap 3-1 , 3-3 rsma and rsmb 7-14 , 7-35 rsma, rsmb registers 7-35 rwu bit 8-15 rx 7-14 , 7-31 rx register 7-31 rxd 8-4 rxd signal 8-4 rxh, rxm, rxl registers 6-30 s saturation status bit 10-2 sbk bit 8-16 sc register 1-8 sc0 7-4 sc0 signal 7-4 , 7-5 sc1 7-5 sc2 7-6 sc2 and sc1 signals programmed as outputs 7-23 sccr 8-19 scd0 bit 7-24 scd1 bit 7-24 sci 1-13 , 2-3 , 2-19 , 5-2 , 8-9 clock control register 8-19 control register 8-12 data registers 8-22 exceptions 8-8 idle line 8-8 receive data 8-8 receive data with exception status 8-8 timer 8-8 transmit data 8-8 gpio functionality 8-25 i/o signals 8-3 initialization 8-6 operating mode asynchronous 8-1 synchronous 8-1 operating modes 8-1 asynchronous 8-1 programming model 8-9 receive data 8-4 receive register 8-23 reset 8-4 state after reset 8-5 serial clock 8-4 status register 8-17 transmission priority preamble, break, and data 8-7 transmit data 8-4 transmit register 8-24 sci (gpio) 5-8 sci clock control register 8-7 sci clock control register (sccr) 8-9 , 8-19 clock divider 8-21 clock out divider 8-21 receive clock mode source 8-21 transmit clock source 8-21 sci clock control register (sccr) clock prescaler 8-21 sci clock control register (sccr) bit definitions 8-21 sci control register 8-7 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -12 dsp56311 users manual motorola sci control register (scr) 8-9 , 8-12 idle line interrupt enable 8-13 receive with exception interrupt enable 8-12 receiver wakeup enable 8-15 sci clock polarity 8-12 sci receive interrupt enable 8-13 sci shift direction 8-16 sci transmit interrupt enable 8-13 send break 8-16 timer interrupt enable 8-13 timer interrupt rate 8-12 transmitter enable 8-14 wakeup mode select 8-15 word select 8-16 sci control register (scr) bit definitions 8-12 sci data registers 8-22 sci data word formats 8-10 sci exceptions receive data 8-8 sci pins rxd, txd, sclk 8-3 sci programming model - data registers 8-23 sci receive data registers (srx) 8-9 sci receive register (srx) 8-23 sci serial clock signal (sclk) 8-4 sci status register (ssr) 8-9 , 8-17 idle line flag 8-18 overrun error flag 8-18 parity error 8-17 receive data register full 8-18 received bit 8 8-17 transmit data register empty 8-18 transmitter empty 8-19 sci status register (ssr) bit definitions 8-17 sci transmit data address register (stxa) 8-9 sci transmit data registers (stx) 8-9 sci transmit register (stx) stx register 8-24 sck 7-3 sck signal 7-3 sclk 8-4 sclk pin 8-2 , 8-6 sclk signal 8-4 scr 8-12 scr control register (scr) receiver enable 8-14 scr register 8-12 select operational mode of the essi 7-22 send break bit (sbk) 8-16 serial clock 7-3 serial clock signal (sck) 7-3 serial communicaiton interface (sci) indicate whether received byte is an address or data 8-17 serial communication interface 2-19 asynchronous mode 8-2 enable/disable sci timer interrupt 8-13 serial communication interface (sci) address mode wakeup 8-3 bootstrap loading 8-7 byte is ready to transfer from receive shift register to receive data register 8-18 clock generator features 8-19 control clock polarity sourced or received on the clock signal (sclk) 8-12 control divide-by-32 in the sci timer interrupt generator 8-12 crystal frequency 8-6 determine order in which sci data shift registers shift data in or out 8-16 empty sci transmit data register 8-18 enable receiver 8-14 enable transmitter 8-14 enable wakeup function 8-15 enable/disable sci receive data interrupt 8-13 enable/disable sci receive data with exception interrupt 8-12 enable/disables sci transmit data interrupt. 8-13 establish a periodic interrupt 8-20 idle line wakeup mode 8-3 incorrect parity bit is detected in received character 8-17 individual reset state (pcr = $0) 8-6 inter-processor messages 8-2 interrupts 8-6 maximum internal clock 8-19 multidrop mode 8-2 recover synchronization 8-2 scr, sccr 8-6 select format of transmitted and received data 8-16 select wakeup on idle line mode 8-15 select whether internal or external clock is used for transmitter 8-21 serial clock 8-20 stx or stxa 8-22 transmit and receive shift registers 8-2 wired-or mode 8-3 serial communications interface (sci) 1-13 , 8-1 synchronous mode 8-2 serial control 0 7-4 serial control 0 direction bit (scd0) 7-24 serial control 0 signal (sc0) 7-4 , 7-5 serial control 1 7-5 serial control 1 direction bit (scd1) 7-24 serial control 2 7-6 serial flag signal or receive clock signal 7-4 serial input flag 0 bit (if0) 7-31 serial output flag bits (of0Cof1) 7-19 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -13 serial receive data 7-3 serial receive data signal (srd) 7-3 serial receive shift register is filled and ready to transfer to receive data register (rx) but rx is full 7-29 serial transmit data 7-3 serial transmit data signal (std) 7-3 set timer operating mode 9-3 shared memory 10-2 signal measurement modes 9-11 signals essi data and control 7-3 functional grouping 2-3 single data strobe 2-3 single-strobe bus 6-21 sixteen-bit compatibility mode 3-8 size register (sz) 1-8 software polling 6-6 sp 1-8 sr register 1-8 sram interfacing 1-10 srd 7-3 srd signal 7-3 srx 8-23 read as srxl, srxm, srxh 8-23 srx register 8-23 ssisr 7-6 , 7-14 , 7-29 ssisr register 7-29 ssr 8-17 ssr register 8-17 stack counter register (sc) 1-8 stack pointer (sp) 1-8 standby mode stop 1-5 wait 1-5 status register (sr) 1-8 status registers, reading 5-2 std 7-3 std signal 7-3 sticky bits 10-2 stop standby mode 1-5 stop instruction 6-22 , 8-6 stx 8-24 stx register read as stxl, stxm. stxh, and stxa 8-24 switching memory configuration dynamically 3-7 switching memory sizes 3-2 synchronous mod 8-19 synchronous mode 7-10 , 7-11 , 7-13 , 8-2 , 8-18 synchronous mode 7-4 sz register 1-8 t tap 1-9 tcpr register 9-30 tcr register 9-30 tcsr register 9-24 te bit 8-14 , 9-24 teie bit 7-20 test access port (tap) 1-9 tfs bit 7-30 time slot register (tsr) 7-34 timer control counter preload operation 9-26 control timer clock source, behavior of tio signal, and timer mode of operation 9-27 indicate a counter overflow 9-25 indicate that event count is complete 9-25 operating modes 9-4 polarity definition of the incoming signal on the tio signal 9-26 reflect value of tio signal 9-25 select prescalar clock as the timer source clock 9-25 source of tio value when it is a data output signal 9-25 special cases 9-21 timer compare interrupts, enable 9-28 timer (gpio) 5-9 timer after reset 9-2 timer compare exception 9-3 timer compare register (tcpr) 9-3 , 9-30 timer control register 9-2 timer control/status register (tcsr) 9-24 data input 9-25 data output 9-25 direction 9-26 inverter 9-26 prescalar clock enable 9-25 timer compare flag 9-25 timer compare interrupt enable 9-28 timer control 9-27 timer enable 9-28 timer overflow flag 9-25 timer overflow interrupt enable 9-28 timer reload mode 9-26 timer control/status register (tcsr) bit definitions 9-24 timer count register (tcr) 9-30 timer enable bit (te) 9-24 timer exception, configuring 9-4 timer exceptions 9-3 timer gpio (mode 0) 9-5 timer initialization 9-2 , 9-3 timer load register (tlr) 9-29 timer mode f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
index -14 dsp56311 users manual motorola mode 5measurement input period 9-13 mode 6measurement capture 9-15 mode 7pulse width modulation 9-16 mode 8reserved 9-19 mode 9watchdog pulse 9-19 mode 10measurement toggle 9-20 modes 11C15reserved 9-21 timer module 1-14 architecture 9-1 timer block diagram 9-1 timer opeating modes pwm, mode 7 9-5 timer operating mode, setting 9-3 timer operating modes event counter (mode 3) 9-10 event counter, mode 3 9-4 gpio (mode 0) 9-5 gpio, mode 0 9-4 input pulse, mode 5 9-5 input width, mode 4 9-5 measurement capture (mode 6) 9-15 measurement input width (mode 4) 9-12 overview 9-5 pulse (mode 1) 9-7 pulse width modulation (pwm, mode 7) 9-16 pulse, mode 1 9-4 pulse, mode 9 9-5 reserved modes 9-20 , 9-21 signal measurement modes 9-11 toggle (mode 2) 9-8 toggle, mode 10 9-5 toggle, mode 2 9-4 watchdog 9-5 watchdog modes 9-18 watchdog pulse 9-18 watchdog pulse (mode 9) 9-19 watchdog pulse mode 9-19 watchdog toggle 9-18 watchdog toggle (mode 10) 9-20 timer overflow exception 9-3 timer prescalar count register (tpcr) prescalar counter value 9-24 timer prescaler count register (tpcr) 9-24 timer prescaler count register (tpcr) bit definitions 9-24 timer prescaler load register (tplr) 9-23 prescaler preload value 9-23 timer prescaler load register (tplr) bit definitions 9-23 timer, enabling 9-3 timers 2-3 , 2-19 tlr register 9-29 tpcr register 9-24 tplr register 9-23 transcoder basestation 10-1 transmit byte registers 6-6 transmit byte registers (txh, txm, txl) 6-30 transmit data signal (txd) 8-4 transmit data signal, essi 7-4 transmit exception interrupt enable bit (teie) 7-20 transmit frame sync flag bit (tfs) 7-30 transmit interrupt enable, essi 7-20 transmit shift registers 7-31 transmit slot mask registers (tsma, tsmb) 7-34 transmitter enable bit (te) 8-14 hi08 icr 6-31 triple timer 5-2 triple timer module 1-14 tsma and tsmb 7-14 , 7-34 tsma, tsmb registers 7-34 tsr 7-34 tsr register 7-34 tx0Ctx2 7-14 , 7-34 tx2, tx1, tx0 registers 7-34 txd 8-4 txd signal 8-4 hi08 hsr 6-31 txh, txm, txl registers 6-30 v vba register 1-8 vector base address register (vba) 1-8 vocoder 10-1 w wait standby mode 1-5 see also reset wake bit 8-15 wakeup mode select bit (wake) 8-15 watchdog pulse 9-18 watchdog pulse mode 9-19 watchdog toggle 9-18 wired-or select bit (woms) 8-14 woms bit 8-14 word length frame sync 7-12 x x data memory 3-3 x i/o space 3-5 x memory address bus (xab) 1-10 x memory data bus (xdb) 1-10 x memory expansion bus 1-10 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
motorola dsp56311 users manual index -15 xab 1-10 xdb 1-10 y y data memory 3-5 internal 3-5 y i/o space 3-7 y memory address bus (yab) 1-10 y memory data bus (ydb) 1-10 y memory expansion bus 1-10 yab 1-10 ydb 1-10 f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .
f r e e s c a l e s e m i c o n d u c t o r , i freescale semiconductor, inc. f o r m o r e i n f o r m a t i o n o n t h i s p r o d u c t , g o t o : w w w . f r e e s c a l e . c o m n c . . .


▲Up To Search▲   

 
Price & Availability of DSP56311UM

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X