Hi Everyone
Has anyone done any comparason testing between hardware and sofware serial protocols?
I am doing a layout for a prototype PCB and need to make a decision on which pins to use with SPI.
I am using a dsPIC30F3011 wit ha fast clock speed of 117964800.
Thanks
Hardware VS Software serial
-
- Flowcode V4 User
- Posts: 288
- Joined: Wed Nov 02, 2011 11:15 pm
- Has thanked: 29 times
- Been thanked: 30 times
- Contact:
-
- Valued Contributor
- Posts: 2045
- Joined: Wed Aug 27, 2008 10:31 pm
- Location: Netherlands
- Has thanked: 553 times
- Been thanked: 1081 times
- Contact:
Re: Hardware VS Software serial
Rule of thumb: use hardware if possible. Less overhead and less chance of timing issues.
“Integrity is doing the right thing, even when no one is watching.”
― C.S. Lewis
― C.S. Lewis
-
- Matrix Staff
- Posts: 9520
- Joined: Sat May 05, 2007 2:27 pm
- Location: Northamptonshire, UK
- Has thanked: 2585 times
- Been thanked: 3815 times
- Contact:
Re: Hardware VS Software serial
I totally agree with that.kersing wrote:Rule of thumb: use hardware if possible. Less overhead and less chance of timing issues.
Especially as interrupts interfere with software generated code, but not hardware generated code.
Martin
-
- Flowcode V4 User
- Posts: 288
- Joined: Wed Nov 02, 2011 11:15 pm
- Has thanked: 29 times
- Been thanked: 30 times
- Contact:
Re: Hardware VS Software serial
Thanks Guys
The problem that I have is that the 30F3011 only has one hardware SPI, and this happens to be on teh same pins as the UART channel 1 hardware. Again it just so happens that the RX TX pins for the UART channel 1 hardware is also PGD & PGC. I like the fact that UART channel 1 is on the PGC & PGD as I have ftdi cables made up to take the UART out for serial plotting data on the PC (fits on the ICSP header). But I need the SPI to contoroll the IC's on the dev board fairly consistantly.
Now, I like the 16bit MCU's as they are fast, the 30F3011 befasue it works @ 5V, and it is the only one I can find that has 40pins in a TH package (I use TH for dev boards as my SM soldering is poor).
Would you suggest that taking the above into account that I use the software SPI and hardware UART - mainly because SPI is synchronous and UART is asyncronous?
Thanks
The problem that I have is that the 30F3011 only has one hardware SPI, and this happens to be on teh same pins as the UART channel 1 hardware. Again it just so happens that the RX TX pins for the UART channel 1 hardware is also PGD & PGC. I like the fact that UART channel 1 is on the PGC & PGD as I have ftdi cables made up to take the UART out for serial plotting data on the PC (fits on the ICSP header). But I need the SPI to contoroll the IC's on the dev board fairly consistantly.
Now, I like the 16bit MCU's as they are fast, the 30F3011 befasue it works @ 5V, and it is the only one I can find that has 40pins in a TH package (I use TH for dev boards as my SM soldering is poor).
Would you suggest that taking the above into account that I use the software SPI and hardware UART - mainly because SPI is synchronous and UART is asyncronous?
Thanks
-
- Matrix Staff
- Posts: 9520
- Joined: Sat May 05, 2007 2:27 pm
- Location: Northamptonshire, UK
- Has thanked: 2585 times
- Been thanked: 3815 times
- Contact:
Re: Hardware VS Software serial
Personally,
If can only use one with hardware, then it would have to be asynchronous.
With asynchronous, in theory it will be more affected by interrupts than synchronous.
So best to use UART for hardware, even more so if RX is required?
If can only use one with hardware, then it would have to be asynchronous.
With asynchronous, in theory it will be more affected by interrupts than synchronous.
So best to use UART for hardware, even more so if RX is required?
Martin
-
- Flowcode V4 User
- Posts: 288
- Joined: Wed Nov 02, 2011 11:15 pm
- Has thanked: 29 times
- Been thanked: 30 times
- Contact:
Re: Hardware VS Software serial
Yeah, just what I thought...
For this Dev board Rx is not needed.
Thanks Martin
For this Dev board Rx is not needed.
Thanks Martin