Implementing ISO7816 UART with Generic UART on Cortex M3(LPC 17xx) through software
Discussion in "ARM Development" started by manyam09 Aug 19, 2011.
Fri Aug 19 2011, 12:47 pm
Hi,
I would like to implement ISO7816 UART with generic UART through spftware.
I dont know what are the steps to follow for this.
I have gone through ISO7816-1,2,3 documents.
While transmitting and receiving characters if any error occurs the Tx/Rx line should be pulled low and again i have to retransmit that character.And this has to be checked at the middle of the stop bit.
Please guide me how to approach for this.
Thanks in advance
I would like to implement ISO7816 UART with generic UART through spftware.
I dont know what are the steps to follow for this.
I have gone through ISO7816-1,2,3 documents.
While transmitting and receiving characters if any error occurs the Tx/Rx line should be pulled low and again i have to retransmit that character.And this has to be checked at the middle of the stop bit.
Please guide me how to approach for this.
Thanks in advance
Sun Aug 21 2011, 11:52 am
You can take a look at software UART code here in Serial Communication/UART Tutorial
modify it for your needs.
Topic moved to ARM Development Forum
Edit: sorry i thought u are asking for 8051.. did not read it properly. Well the logic is to get into center of the bit when reading. you can use timer interrupts for doing so.. start the timer when you get a start bit after that each bit will be located at defined time. so you just have to give delay of 1 bit and read..
When reading the start bit.. you might need to give some delay of 1/2 bit time so as to get into the center of bit. after that each bit will be located at 1bit time. I hope you understand the logic now. Use a counter for counting 10 bits. (1 start, 8 data, 1 stop).
modify it for your needs.
Topic moved to ARM Development Forum
Edit: sorry i thought u are asking for 8051.. did not read it properly. Well the logic is to get into center of the bit when reading. you can use timer interrupts for doing so.. start the timer when you get a start bit after that each bit will be located at defined time. so you just have to give delay of 1 bit and read..
When reading the start bit.. you might need to give some delay of 1/2 bit time so as to get into the center of bit. after that each bit will be located at 1bit time. I hope you understand the logic now. Use a counter for counting 10 bits. (1 start, 8 data, 1 stop).
[ Edited Sun Aug 21 2011, 11:56 am ]
Powered by e107 Forum System