LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Password
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.

Notices

Reply
 
Search this Thread
Old 11-11-2012, 03:07 PM   #1
theKbStockpiler
Member
 
Registered: Sep 2009
Location: Central New York
Distribution: Fedora14,Scientific 6.1?, Mandriva 2010 ;GO MAGEIA!!!Next up Gentoo
Posts: 774

Rep: Reputation: 51
Introduction to P.I.C peripheral buses


Hi, I would like to be able to learn about connecting multiple devices up to a microprocessor. Are there any good links or terms to search for?
 
Old 11-12-2012, 09:21 AM   #2
michaelk
Moderator
 
Registered: Aug 2002
Posts: 11,810

Rep: Reputation: 721Reputation: 721Reputation: 721Reputation: 721Reputation: 721Reputation: 721Reputation: 721
What do you mean by "P.I.C peripheral buses"? What type of devices are you wanting to connect?

Checkout SPI and CAN bus technology.
 
1 members found this post helpful.
Old 11-13-2012, 06:15 PM   #3
theKbStockpiler
Member
 
Registered: Sep 2009
Location: Central New York
Distribution: Fedora14,Scientific 6.1?, Mandriva 2010 ;GO MAGEIA!!!Next up Gentoo
Posts: 774

Original Poster
Rep: Reputation: 51
Thanks for the reply!

I did find a few guides ;one being by (Philips Semiconductors , The I2 C bus and how to use it), that is worth noting.

MicroChips product is the one of choice right now and which I have studied on. The power of having a MicroController communicate with other hardware is essential to my goals. I want to be able to use a P.I.C with a SD card ,and every type of external memory there is ,even RAM. I want to build a few data-loggers that use more than one type of memory and also a few different types of Romulators or Eprom emulators. I'm reading the Philips guide and it appears that most of the communication effort goes into actual programming for whatever hardware is used. I shouldn't be , but I am surprised of actually having to write the code for the communication between devices.
 
Old 11-15-2012, 09:10 AM   #4
Wim Sturkenboom
Senior Member
 
Registered: Jan 2005
Location: Roodepoort, South Africa
Distribution: Slackware 10.1/10.2/12, Ubuntu 12.04, Crunchbang Statler
Posts: 3,786

Rep: Reputation: 282Reputation: 282Reputation: 282
Quote:
Originally Posted by theKbStockpiler View Post
I shouldn't be , but I am surprised of actually having to write the code for the communication between devices.
Somebody has to write it

Microchip has plenty of application notes that might be of help.
 
1 members found this post helpful.
Old 11-16-2012, 11:02 AM   #5
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,395
Blog Entries: 2

Rep: Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903Reputation: 903
The term 'devices' as used here is much too broad for there to be a single general purpose solution. Devices, in the sense of peripheral chips, have many different characteristics, and those tend to dictate how a CPU communicates with them. Some things, such as communications controllers, require a means to offload data asynchronously, and operate somewhat autonomously. They are like Linux character devices, and operate on streams of data. Other devices behave like addressable memory. Still others have elements of both characteristics. Some are intended to minimize the connection channel, such as SPI or I2C, or even One-Wire, whereas others have couplings to the CPU using buses that more closely resemble the native address, data & control buses.
Another use of the term 'device' could be described as something more akin to a 'host'. I'm referring to a device on a larger scale, such as another CPU host, a test & measurement instrument, or a modem or other communications subsystem. Often, such kinds of communication ends up being layered. A host may communicate with another host, via an intermediate layer such as ethernet, RS-232, or any of the other networking protocols use in embedded systems. In that case, the CPU communicates with the network device/chip on one level, and with the peer host on another level.
Some buses are intended to be exposed only between the CPU and chips on the same board, or perhaps across some kind of backplane within the same chassis. Other buses expand that capability for use between boards within relatively close proximity, such as SPI & I2C. Still other buses, such as CANbus or GPIB are much more akin to networks, or are full-on networks in their own right.
Embedded systems and single board computers tend to be more focused and specific in nature, as opposed to generalized. If you need to support a wide array of third party hardware, I suggest using a modular approach, where target-specific expansion of some type is used to extend a more generalized central CPU. Don't try to solve all problems with one design. Focus on removing un-needed components and minimizing the design, rather than trying to accommodate perceived solutions that may never materialize.
--- rod.
 
1 members found this post helpful.
Old 11-27-2012, 05:31 PM   #6
vortmax
Member
 
Registered: Nov 2005
Posts: 91

Rep: Reputation: 17
Quote:
Originally Posted by Wim Sturkenboom View Post
Somebody has to write it

Microchip has plenty of application notes that might be of help.
Exactly. Keep in mind that these mcus are not that powerful.... every byte and clock cycle counts. it's pays to write mcu and application specific versions of code to squeeze every ounce of performance out of it. Also mcu layout and design varies so much between chips, even between members in the same family, that it makes more sense to build everything from the ground up.

If you really don't want to bother with low level programming then look into the arduino boot loader for atmel mcus.
 
1 members found this post helpful.
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Keeping peripheral designation constant apolinsky Linux - Hardware 1 03-13-2012 01:12 AM
how to list all usb buses and it's branches golden_boy615 Linux - General 6 01-16-2011 08:02 AM
Bypassing the setup procedure for a peripheral. stf92 General 3 02-27-2010 07:06 PM
LXer: Linux rides pillion on Mumbai city buses LXer Syndicated Linux News 0 05-15-2008 03:30 AM
HP PhotoSmart 2710 peripheral issues... avory Linux - Hardware 11 12-23-2005 06:56 PM


All times are GMT -5. The time now is 01:32 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration