billtiso
Posts: 2
Joined: Sat Aug 26, 2017 3:30 pm

rPI Compute Module I/O Question

Sat Aug 26, 2017 3:54 pm

We are considering using the CM3 board (with the on module eMMC device) as the basis of a embedded product, with an I/O board that will be specific to the application.

We need the following:
2 x UART
2 x I2C
3 x SPI
1 x JTAG
1 USB
1 HDMI

Things we don't need:
Camera Ports
Display ports
PWM
I2S

In reading thru both the ARM peripheral doc for the BCM 283x and the Compute Module Datasheet - the question arises:

Can the Alternative GPIO function be applied to each GPIO pin or it is more of a global definition where you pick an Alternate GPIO definition, set it at boot time and then live with it during run time?

Cheers

rln
Posts: 141
Joined: Wed Apr 09, 2014 1:43 pm
Location: Sweden
Contact: Website

Re: rPI Compute Module I/O Question

Mon Aug 28, 2017 10:23 am

Each pin can individually have different alternative functions.
Author of the robust Nard distro http://www.nard.se

aBUGSworstnightmare
Posts: 578
Joined: Tue Jun 30, 2015 1:35 pm

Re: rPI Compute Module I/O Question

Mon Aug 28, 2017 11:41 am

There are only 2 SPI peripherals --> either reduce your requirement or think about other approach).
2x I2C + 2xUART is possible. but JTAG? Why do you need JTAG?

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1419
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: rPI Compute Module I/O Question

Mon Aug 28, 2017 2:19 pm

There are 3 SPI peripherals, but 2 of them are reduced performance devices.

The pin muxing possibilities are shown in BCM2835 ARM Peripherals on page 102.

aBUGSworstnightmare
Posts: 578
Joined: Tue Jun 30, 2015 1:35 pm

Re: rPI Compute Module I/O Question

Mon Aug 28, 2017 2:27 pm

PhilE wrote: There are 3 SPI peripherals, but 2 of them are reduced performance devices.

The pin muxing possibilities are shown in BCM2835 ARM Peripherals on page 102.
Sorry,my fault! TXD1/RXD1 can be enabled on GPIO32/33, so SPI2 can be used as well.
Had another mapping in mind :oops:

Question is why OP Needs three individual SPI modules, rather than using chip selects for 'talking' to different devices.

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1419
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: rPI Compute Module I/O Question

Mon Aug 28, 2017 2:30 pm

No problem - this is a good illustration of why it is vital to read the doc to work out which options can be used simultaneously. With up to 6 alternate functions on each pin there are a limited number of possibilities.

billtiso
Posts: 2
Joined: Sat Aug 26, 2017 3:30 pm

Re: rPI Compute Module I/O Question

Tue Aug 29, 2017 1:37 am

Thanks guys for your help.

As to the question of why use 3 SPI ports vs 1 and three Device Selects, we have three different devices that all can benefit from 3 different SPI clocks. We actually have a low speed, a mid speed and a high speed device device.

It may simplify the overall design if we keep them separate as I could not see a clear benefit for being that frugal with GPIOs. My attitude is when you have the pins and the ports, use them.

We maybe indeed drop JTAG as may only be used for test purposes. The nice thing is with CM3, we don't need to do a processor level HW bring up.....it's done.

I read thru the ARM peripheral guide after I posted it and its pretty clear that you have multiple choices with each GPIO.

Return to “Compute Module”

Who is online

Users browsing this forum: McLion and 4 guests