| 전자부품 데이터시트 검색엔진 |
|
ST92F124 데이터시트(PDF) 418 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
ST92F124 데이터시트(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 |
|
링크 URL |
| ALLDATASHEET 가 귀하에 도움이 되셨나요? [ DONATE ] |
Alldatasheet는? | 광고문의 | 운영자에게 연락하기 | 개인정보취급방침 | 링크 투 데이터시트 | 링크교환 | 제조사별 검색 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 |