| Motor de Búsqueda de Datasheet de Componentes Electrónicos |
|
ST92F124 Datasheet(PDF) 418 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
ST92F124 Datasheet(HTML) 418 Page - STMicroelectronics |
|
418 / 429 page ![]() 418/429 ST92F124/F150/F250 - KNOWN LIMITATIONS KNOWN LIMITATIONS (Cont’d) Workaround 2 Workaround 2 (see Figure 7) first tests that FMP=2 and the CAN cell is receiving, if not the FIFO can be released immediately. If yes, the pro- gram goes through a sequence of test instructions on the RX pin that last longer than the time be- tween the acknowledge dominant bit and the crit- ical time slot. If the Rx pin is in recessive state for more than 8 CAN bit times, it means we are now after the acknowledge and the critical slot. If a dominant bit is read on the bus, we can release the FIFO immediately. This workaround has to be written in assembly language to avoid the compiler optimizing the test sequence. The implementation shown here is for the CAN bus maximum speed (1MBd @ 8MHz CPU clock). Figure 6. Reception with TCAN=12/fCPU and sampling time is 16/fCPU Figure 7. Workaround 2 in Assembler DD D D D RR R R RR RR R R RR RR R CAN Bus signal Sampling of Rx pin asm (“ /* Bytes/cycles */ spp #48 /* set CAN0_CTRL page 2/4 */ /* Use spp #36 for CAN1 ld r0, R244 /* For FIFO 02/4 */ /* NB: Replace R244 with R245 for FIFO 1*/ and r0, #3 /* 3/6 */ cp r0, #2 /* 3/6 */ jxnz _release /* (JRNE instruction) 2/6 */ /* if FMP is not 2 then FIFO */ /* release can be done */ pushw RR232 /* push working group 2/8 or 10 */ srp #31 /* set group F as working group 2/4 */ btjf r1.5, _release /* REC bit of CMSR register 3/6 or 10 if jmp */ btjf r12.3, _release /* sample RX bit for 8 bit time 3/6 or 10 if jmp */ btjf r12.3, _release /* ie. 11 btjf instructions 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ btjf r12.3, _release /* 3/6 or 10 if jmp */ _release: or R244, #32 /* set RFOM bit of CRFR0 register 3/6 */ /* NB: Replace R244 with R245 for FIFO 1*/ popw RR232 /* restore previous working group 2/10 */ “); 1 |
|
Enlace URL |
| ¿ALLDATASHEET es útil para Ud.? [ DONATE ] |
Todo acerca de Alldatasheet | Publicidad | Contáctenos | Política de Privacidad | Enlace a la hoja de datos | Intercambio de Enlaces | Lista de Fabricantes All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |