CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

SPI to RS485 Converter

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
edbfmi1



Joined: 18 Jul 2006
Posts: 98

View user's profile Send private message

SPI to RS485 Converter
PostPosted: Wed Aug 31, 2016 1:04 pm     Reply with quote

Hello all,
I am in the final stages of a design for a customer and at the last minute they threw me a curve. (Like I should be surprised!)

Anyway I was told that in the future they would like to have the current system control a heater and monitor the temperature at a location that is about 10 feet (3 Meters) away.

The current design uses a PIC16F76. I am using SPI to communicate with a display driver and local temperature interface. I only have a couple I/O pins left so I was wanting to utilize the SPI ports and talk to an RS485 transceiver. I can add another PIC at the remote location with another RS485 transceiver to communicate with the original system.

Does anybody know of an SPI to RS485 transceiver? Or does anyone have another idea.

Thanks for any suggestions.
temtronic



Joined: 01 Jul 2010
Posts: 9162
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 1:15 pm     Reply with quote

OK, while the picture is a bit 'fuzzy'... if you have 2 pins, just use RS-232. It will easily communicate 10'/3m. Now IF you already had RS485, then it's simple to add another device. Kinda what RS485 was designed for.
Creating an SPI<>RS485 link seems 'complicated' to me, overkill and this from a guy that uses 46k22s for simple tasks!
Maybe Google will finds an SPI<>RS485 device, I haven't looked..but if you have those 2 extra pins, I'd go RS232....or RS422.

Jay
edbfmi1



Joined: 18 Jul 2006
Posts: 98

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 1:41 pm     Reply with quote

Oops, I fat fingered the Key. I only have 1 pin left not 2. I did Google and found an IC by MAXIM, the MAX3140, that looks like it would do the job but it is very pricey. This application is for the Agricultural Industry and they are VERY price conscious. I was just hoping someone had a more "Cost Effective" solution. I really don't want to change the PIC because I already have all the development hardware for the PIC16F76.
Ttelmah



Joined: 11 Mar 2010
Posts: 19329

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 2:29 pm     Reply with quote

At the end of the day, it depends on how fast you actually need the link to be. You can send and receive data on the same pin, if you (as a 'master'), 'poll' data from the other end. So (for instance), you could use a cheap transceiver, and a monostable multivibrator, to turn it to 'transmit', when you send data. Have it sit in receive mode when you are not sending. Then your device can just send data out when it wants, to the unit it has to control, and then send a 'give me your data' command to the other device, which replies along the same link. Since you only have to receive after having sent, software serial will work fine.
For the short distance you are talking about, you can use a single wire link, rather than RS485.
temtronic



Joined: 01 Jul 2010
Posts: 9162
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 2:43 pm     Reply with quote

hmm. 1 pin is still easy...
In the CCS FAQ section of the manual they show one way to do 2 way communications between PICs, it should easily handle 10 feet !
Now if you need to go 10 miles, or more, I've done that for almost 3 decades, on a true single wire system.

Jay
edbfmi1



Joined: 18 Jul 2006
Posts: 98

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 2:47 pm     Reply with quote

Awesome!!
I will use the single wire communication idea!
Thanks for the quick responses. As always you guys ROCK!!
temtronic



Joined: 01 Jul 2010
Posts: 9162
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 3:05 pm     Reply with quote

see...

What is an easy way for two or more PICs to communicate?

In the Q&A section of the manual. It refers to TWO example programs as
well !!

I did use it 20 years ago, no reason why it won't still work !

Jay
gaugeguy



Joined: 05 Apr 2011
Posts: 291

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 3:49 pm     Reply with quote

The PIC16F76 is a very old part. If the project is cost sensative PIC18F26k22 is about 1/2 the cost and has tons more memory and peripherals. If you need to stay in the PIC16F family there are even less expensive parts available like the PIC16F886.
MikeW



Joined: 15 Sep 2003
Posts: 184
Location: Warrington UK

View user's profile Send private message

PostPosted: Wed Aug 31, 2016 11:53 pm     Reply with quote

check out the NXP range of I2C / SPI Slave to UART / IrDA / GPIO Bridges

SC16IS752 is a dual serial port, but there is a single one
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group