Difference between revisions of "Embedded Open Modular Architecture/CompactFlash"

From eLinux.org
Jump to: navigation, search
(Table of EOMA-CF pinouts)
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= EOMA/CF =
 
= EOMA/CF =
  
page under development.  this standard is virtually identical to EOMA/PCMCIA except that the 24-pin RGB/TTL has been replaced by single-channel LVDS, leaving 2 pins spare which have presently been allocated to provide extra 5V power.
+
page under development.
  
the disadvantage of single-channel LVDS is that it is not sufficient to drive resolutions above 1280x1024 @ 75hz (24-bit) but if a lower refresh rate (40hz, 30hz) is acceptable, and/or a lower bitrate (18-bit) then it is possible to drive 1920x1080 at about 60hz for 18-bit or 47hz for 24-bit.
+
this standard is primarily designed for ultra-low-cost systems as well as those where space is at a premium.  because of this, specifying MIPI as the LCD standard would be inappropriate, as indeed would eDP.  even in cases where the SoC does not have LVDS, a low-cost RGB/TTL to LVDS IC is available such as the [TI SN75LVDS83b](http://www.ti.com/product/sn75lvds83).  so for the low end market, connection to 320x240 (or even smaller) LCDs is directly possible via RGB/TTL, and for the high-end market conversion via LVDS or MIPI ICs is possible on the other side of the interface (e.g. via the [SSD2828](http://www.solomon-systech.com/en/product/display-ic/mipi-master-bridge-chip/ssd2828/).
  
this standard is primarily designed for ultra-low-cost systems as well as those where space is at a premiumbecause of this, specifying MIPI as the LCD standard would be inappropriate, whereas many SoCs now have single-channel or in some case dual-channel LVDS available as standardeven in cases where the SoC does not have LVDS, a low-cost RGB/TTL to LVDS IC is available such as the [TI SN75LVDS83b](http://www.ti.com/product/sn75lvds83).
+
the edge of the CF card can have as many connectors as will fit into a 43mm widthMicro-HDMI Type D, USB-OTG and a 2.5mm 4-pin Headphone Jack can be consideredA MicroSD slot could be placed on one of the side edges (requiring the module to be removed and switched off in order to access it, as is the case with most mobile phones).
  
 
= Pinouts =
 
= Pinouts =
  
* 1 RIN 0- Negative LVDS differential data input
+
TODO: ensure no clash with power pins http://pinouts.ru/Memory/CompactFlash_pinout.shtml
* 26 RIN 0+ Positive LVDS differential data input
+
 
* 2 RIN 1- Negative LVDS differential data input
+
These pinouts make no attempt to be electrically or electronically compatible with the existing CompactFlash standard. 16 GPIO pins, 15-pin RGB/TTL for LCD, USB2, USB3, USB3.1 (full 10gbit/sec 2-lanes), I2C, SD/MMC, SPI and UART interfaces are included in the Version 1.0 specification. Note: USB2 and USB3 ''must'' support auto-negotiation, and must support the lower capabilities (USB 1, USB 1.1, USB 2, USB 3.0). Higher speeds and capabilities are optional.
* 27 RIN 1+ Positive LVDS differential data input
+
 
* 3 RIN 2- Negative LVDS differential data input
+
Two 5.0v power inputs must be provided: all pins are rated at 0.5 amps, so the maximum power dissipation is limited to 5 watts. Design consideration: please note that to ensure that thermal dissipation in an enclosed fanless situation is not exceeded, a maximum of 3.5 watts should be respected. Most systems will not have active cooling.
* 28 RIN 2+ Positive LVDS differential data input
+
 
* 4 CLKIN- Negative LVDS differential clock input
+
All High-speed signals (USB2, USB3, USB3.1) are balanced lines that are still separated using GND or Power pins. All other pins are low frequency.
* 29 CLKIN+ Positive LVDS differential clock input
+
 
* 5 GND
+
The typical voltages of the RGB/TTL LCD lines should be compatible with a Texas Instruments SN75LVDS83b and ''must'' be 5V TTL tolerant.  All GPIO should use VREFTTL as the reference voltage for Digital I/O.  Pull High (logic level 0) ''must'' use VREFTTL for example.
* 30 GND
+
 
* 6 10/100 Ethernet (TX+)
+
Also, because the GPIO pins can be reconfigured individually bi-directional for any digital purposes, they *must* be made to be 5V TTL tolerant and tri-state isolated, and Motherboards also must be 5.0v TTL tolerant as well as tri-state isolated.
* 31 10/100 Ethernet (TX-)
+
 
* 7 10/100 Ethernet (RX+)
+
The maximum LCD Resolution supported must be at least 1440x900 @ 60fps, however there is no restriction on reducing the number of bits per pixel (to 8bpp or even to monochrome) if a particular low-cost SoC has severe video bandwidth limitations in achieving that resolution.  There must be no limit on the minimum LCD resolution.  A CPU Card ''may'' output less than the number of bits per pixel (5 bits) however unused lower bits ''must not'' be left floating: they ''must'' output stable levels (0 or 1 as appropriate).
* 32 10/100 Ethernet (RX-)
+
 
* 8 GROUND
+
=== Table of EOMA-CF pinouts ===
* 33 GROUND
+
{|cellpadding="2" cellspacing="0" border="1" width="60%"
* 9 USB2 (Data+)
+
!style="width:50%"|Row 1
* 34 USB2 (Data-)
+
!style="width:50%"|Row 2
* 10 GROUND
+
|-
* 35 GROUND
+
|* 1     LCD Pixel Data bit 3 (Red3)
* 11 I2C Clock (SCL)
+
|* 26    LCD Pixel Data bit 4 (Red4)
* 36 I2C Data (SDA)
+
|-
* 12 PWR (5.0V)
+
|* 2     LCD Pixel Data bit 5 (Red5)
* 37 PWR (5.0v)
+
|* 27    LCD Pixel Data bit 6 (Red6)
* 13 PWR (5.0V)
+
|-
* 38 PWR (5.0v)
+
|* 3    LCD Pixel Data bit 7 (Red7)
* 14 GPIO (0)
+
|* 28   LCD Pixel Data bit 11 (Green3)
* 39 GPIO (1)
+
|-
* 15 GPIO (2)
+
|* 4     LCD Pixel Data bit 12 (Green4)
* 40 GPIO (3)
+
|* 29   LCD Pixel Data bit 13 (Green5)
* 16 GPIO (4)
+
|-
* 41 GPIO (5)
+
|* 5     LCD Pixel Data bit 14 (Green6)
* 17 GPIO (6)
+
|* 30   LCD Pixel Data bit 15 (Green7)
* 42 GPIO (7)
+
|-
* 18 GPIO (8)
+
|* 6     LCD Pixel Data bit 19 (Blue3)  
* 43 GPIO (9)
+
|* 31   LCD Pixel Data bit 20 (Blue4)
* 19 GPIO (10)
+
|-
* 44 GPIO (11)
+
|* 7     LCD Pixel Data bit 21 (Blue5)  
* 20 GPIO (12)
+
|* 32     LCD Pixel Data bit 22 (Blue6)
* 45 GPIO (13)
+
|-
* 21 GPIO (14)
+
|* 8     LCD Pixel Data bit 23 (Blue7)
* 46 GPIO (15)
+
|* 33   LCD Pixel Clock
* 22 GROUND
+
|-
* 47 GROUND
+
|* 9 GROUND
* 23 SATA-II Transmit (A+)
+
|* 34 GROUND
* 48 SATA-II Transmit (A-)
+
|-
* 24 GROUND
+
|* 10 GPIO (0) / SDMMC-D3
* 49 GROUND
+
|* 35 GPIO (1) / SDMMC-D2
* 25 SATA-II Receive (B+)
+
|-
* 50 SATA-II Receive (B-)
+
|* 11 GPIO (2) / UART-TX
 +
|* 36 GPIO (3) / UART-RX
 +
|-
 +
|* 12 GPIO (4) / SDMMC-CMD
 +
|* 37 GPIO (5) / SDMMC-CLK
 +
|-
 +
|* 13 GPIO (6) / SDMMC-D0
 +
|* 38 GPIO (7) / SDMMC-D1
 +
|-
 +
|* 14 I2C Clock (SCL)
 +
|* 39 I2C Data (SDA)
 +
|-
 +
|* 15 GPIO (10) / PWM
 +
|* 40 LCD Vertical Synchronization
 +
|-
 +
|* 16 LCD Horizontal Synchronization
 +
|* 41 LCD Pixel data enable (TFT) output
 +
|-
 +
|* 17 GPIO (12) / SPI_MISO
 +
|* 42 GPIO (13) / SPI_MOSI
 +
|-
 +
|* 18 GPIO (14) / SPI_SCK
 +
|* 43 GPIO (15) / EINT1
 +
|-
 +
|* 19 ---- not used ---- / 1st USB3 SSRXn1
 +
|* 44 ---- not used ---- / 1st USB3 SSRXp1
 +
|-
 +
|* 20 ---- not used ---- / 1st USB3 SSTXn1
 +
|* 45 ---- not used ---- / 1st USB3 SSTXp1
 +
|-
 +
|* 21 ---- 1st USB2 (Data-)
 +
|* 46 ---- 2nd USB2 (Data+)  
 +
|-
 +
|* 22 ---- GPIO (16) / EINT2
 +
|* 47 ---- GPIO (17) / EINT3
 +
|-
 +
|* 23 GPIO (11) / EINT0
 +
|* 48 VREF-TTL (GPIO TTL Voltage Reference)
 +
|-
 +
|* 24 PWR (5.0V)
 +
|* 49 PWR (5.0v)
 +
|-
 +
|* 25 2nd USB2 (Data-)
 +
|* 50 2nd USB2 (Data+)
 +
|}
  
 
= Example CPU Card =
 
= Example CPU Card =
Line 69: Line 113:
  
 
To stop EOMA/CF cards from being inserted into standard CF slots, it will probably be necessary for the EOMA/CF cards to be a little bit thicker than standard CF cards, and potentially slightly wider at the very end (nearest the sockets).  This would limit the number of sockets that could be used, however examination of some of 3M's sockets shows that the ejector mechanism is only down one side.
 
To stop EOMA/CF cards from being inserted into standard CF slots, it will probably be necessary for the EOMA/CF cards to be a little bit thicker than standard CF cards, and potentially slightly wider at the very end (nearest the sockets).  This would limit the number of sockets that could be used, however examination of some of 3M's sockets shows that the ejector mechanism is only down one side.
 +
 +
 +
[[Category:Embedded Open Modular Architecture]]
 +
[[Category:ARM processors]]

Latest revision as of 16:51, 20 May 2017

EOMA/CF

page under development.

this standard is primarily designed for ultra-low-cost systems as well as those where space is at a premium. because of this, specifying MIPI as the LCD standard would be inappropriate, as indeed would eDP. even in cases where the SoC does not have LVDS, a low-cost RGB/TTL to LVDS IC is available such as the [TI SN75LVDS83b](http://www.ti.com/product/sn75lvds83). so for the low end market, connection to 320x240 (or even smaller) LCDs is directly possible via RGB/TTL, and for the high-end market conversion via LVDS or MIPI ICs is possible on the other side of the interface (e.g. via the [SSD2828](http://www.solomon-systech.com/en/product/display-ic/mipi-master-bridge-chip/ssd2828/).

the edge of the CF card can have as many connectors as will fit into a 43mm width. Micro-HDMI Type D, USB-OTG and a 2.5mm 4-pin Headphone Jack can be considered. A MicroSD slot could be placed on one of the side edges (requiring the module to be removed and switched off in order to access it, as is the case with most mobile phones).

Pinouts

TODO: ensure no clash with power pins http://pinouts.ru/Memory/CompactFlash_pinout.shtml

These pinouts make no attempt to be electrically or electronically compatible with the existing CompactFlash standard. 16 GPIO pins, 15-pin RGB/TTL for LCD, USB2, USB3, USB3.1 (full 10gbit/sec 2-lanes), I2C, SD/MMC, SPI and UART interfaces are included in the Version 1.0 specification. Note: USB2 and USB3 must support auto-negotiation, and must support the lower capabilities (USB 1, USB 1.1, USB 2, USB 3.0). Higher speeds and capabilities are optional.

Two 5.0v power inputs must be provided: all pins are rated at 0.5 amps, so the maximum power dissipation is limited to 5 watts. Design consideration: please note that to ensure that thermal dissipation in an enclosed fanless situation is not exceeded, a maximum of 3.5 watts should be respected. Most systems will not have active cooling.

All High-speed signals (USB2, USB3, USB3.1) are balanced lines that are still separated using GND or Power pins. All other pins are low frequency.

The typical voltages of the RGB/TTL LCD lines should be compatible with a Texas Instruments SN75LVDS83b and must be 5V TTL tolerant. All GPIO should use VREFTTL as the reference voltage for Digital I/O. Pull High (logic level 0) must use VREFTTL for example.

Also, because the GPIO pins can be reconfigured individually bi-directional for any digital purposes, they *must* be made to be 5V TTL tolerant and tri-state isolated, and Motherboards also must be 5.0v TTL tolerant as well as tri-state isolated.

The maximum LCD Resolution supported must be at least 1440x900 @ 60fps, however there is no restriction on reducing the number of bits per pixel (to 8bpp or even to monochrome) if a particular low-cost SoC has severe video bandwidth limitations in achieving that resolution. There must be no limit on the minimum LCD resolution. A CPU Card may output less than the number of bits per pixel (5 bits) however unused lower bits must not be left floating: they must output stable levels (0 or 1 as appropriate).

Table of EOMA-CF pinouts

Row 1 Row 2
* 1 LCD Pixel Data bit 3 (Red3) * 26 LCD Pixel Data bit 4 (Red4)
* 2 LCD Pixel Data bit 5 (Red5) * 27 LCD Pixel Data bit 6 (Red6)
* 3 LCD Pixel Data bit 7 (Red7) * 28 LCD Pixel Data bit 11 (Green3)
* 4 LCD Pixel Data bit 12 (Green4) * 29 LCD Pixel Data bit 13 (Green5)
* 5 LCD Pixel Data bit 14 (Green6) * 30 LCD Pixel Data bit 15 (Green7)
* 6 LCD Pixel Data bit 19 (Blue3) * 31 LCD Pixel Data bit 20 (Blue4)
* 7 LCD Pixel Data bit 21 (Blue5) * 32 LCD Pixel Data bit 22 (Blue6)
* 8 LCD Pixel Data bit 23 (Blue7) * 33 LCD Pixel Clock
* 9 GROUND * 34 GROUND
* 10 GPIO (0) / SDMMC-D3 * 35 GPIO (1) / SDMMC-D2
* 11 GPIO (2) / UART-TX * 36 GPIO (3) / UART-RX
* 12 GPIO (4) / SDMMC-CMD * 37 GPIO (5) / SDMMC-CLK
* 13 GPIO (6) / SDMMC-D0 * 38 GPIO (7) / SDMMC-D1
* 14 I2C Clock (SCL) * 39 I2C Data (SDA)
* 15 GPIO (10) / PWM * 40 LCD Vertical Synchronization
* 16 LCD Horizontal Synchronization * 41 LCD Pixel data enable (TFT) output
* 17 GPIO (12) / SPI_MISO * 42 GPIO (13) / SPI_MOSI
* 18 GPIO (14) / SPI_SCK * 43 GPIO (15) / EINT1
* 19 ---- not used ---- / 1st USB3 SSRXn1 * 44 ---- not used ---- / 1st USB3 SSRXp1
* 20 ---- not used ---- / 1st USB3 SSTXn1 * 45 ---- not used ---- / 1st USB3 SSTXp1
* 21 ---- 1st USB2 (Data-) * 46 ---- 2nd USB2 (Data+)
* 22 ---- GPIO (16) / EINT2 * 47 ---- GPIO (17) / EINT3
* 23 GPIO (11) / EINT0 * 48 VREF-TTL (GPIO TTL Voltage Reference)
* 24 PWR (5.0V) * 49 PWR (5.0v)
* 25 2nd USB2 (Data-) * 50 2nd USB2 (Data+)

Example CPU Card

A10 compact flash.png

This example CPU Card shows what is possible. It comprises an Allwinner A10 (Cortex A8), 2 DDR RAM ICs, 2 NAND Flash ICs, an AXP209 PMIC, an RTL8120 10/100 Ethernet PHY, yet leaves enough room for Micro-HDMI, USB-OTG and a Headphone socket. Missing from this diagram is where to put a MicroSD slot (hence the "under development" sign on this page). Potentially it could go on the underneath side (BOTTOM).

Prevention of insertion of standard CF Cards

To stop EOMA/CF cards from being inserted into standard CF slots, it will probably be necessary for the EOMA/CF cards to be a little bit thicker than standard CF cards, and potentially slightly wider at the very end (nearest the sockets). This would limit the number of sockets that could be used, however examination of some of 3M's sockets shows that the ejector mechanism is only down one side.