网络层接口指南

Overview 网卡通常分为PHY或者MAC+PHY,后者常为Intel的各种网络芯片,通过PCIe和主机连接,为系统提供千兆/万兆的以太网连接。 PHY通常用于SOC系统,比如ARM/PowerPC的SOC处理器架构中。在此CPU中,通常具备一各或多个MAC控制器,此时,我们可以在外面接一个PHY为系统扩展以太网连接能力。其中PHY和CPU之间的连接称之为System Interface,PHY后端的连接称之为Media Interface。 System Interface [R]MII [R]GMII SGMII QSGMII XFI QSGMII为4个SGMII Media Interface 10M 10BASE-T 100M 100BASE-T 100BASE-FX 1000M 1000BASE-T - 4对双绞线全双工,需要五类线或以上 1000BASE-TX - 4对双绞线,各两对发送/接收,需要六类/七类线 1000BASE-X (IEEE 802.3.z…

NAND Flash普及

目前NAND Flash已经很普及了。我们平时所用的SD、TF、CF、U盘,其实都是一个NAND Flash芯片颗粒加上一个控制器而成。控制器的不同就形成了丰富的接口。 而目前世面上的MP3、MP4、包括速度最快、也是价格最贵的SSD,其实也是一个控制器加上N个NAND Flash颗粒构成。 我们公司在CPU的换代中也渐渐使用了NAND Flash。 下面就介绍了目前的NAND Flash的技术、工艺以及CPU对NAND的控制器。方便以后研发。 背景介绍 NAND Flash相对于NOR Flash来说,容量大,价格低,速度快。但是优点的引入必然会带了缺陷。由于制造工艺的问题,NAND Flash在生产和使用过程中会出现坏块。 坏块指的是擦除后无法变成1的扇区,通常有2钟: 出厂时有厂家标记的坏块 在使用过程中生成的坏块 由于NAND Flash坏块的存在,所以在使用时就需要对读写的数据做校验。通常使用CPU内部的ECC或者Linux MTD的软ECC对Flash做校验。 Linux MTD采用BBT记录坏区,并将这个BBT保存在芯片的最后一个好的扇区中,并且做冗余。并且使用NAND Flash每个Page的apare array,用来存储ECC和其他数据,Linux MTD下称之为OOB。 NAND Flash分类 制造工艺 从制造工艺来说,NAND Flash分为3钟:SLC/MLC/TCL。…

USB Specification

USB分为3种速度 低速(low-speed) 1.5Mb/s 全速(full-speed) 12Mb/s 数据流类型 控制传输(Control Transfers) 当设备第一次插入时,USB系统软件使用控制数据配置设备。其他驱动程序可以选择使用控制传输实现特殊实现。数据传递是不会丢失的。 大块数据传输(Bulk Data Transfers) 块数据通常包含大量的数据,比如用于打印机或者扫描仪。块数据是连续的。在硬件层使用错误检测和导入有限的重试册数来保证数据交互的可靠性。同时,根据其他总线的活动性,块数据需要占用大量的带宽。 中断数据传输(Interrupt Data Transfers) 无论传输到或者来自一个设备的微小的、有限延时的传输称为中断数据。这些数据可以在任何时间准备传输并且它由USB以不低于设备定义的速度传送。 中断数据通常包含一个或多个字节的事件通知,特性或者坐标。一个中断数据的例子是来自一个定位设备的坐标。尽管没有明确的时间速率,USB必须支持交互数据有应答时间界限。 等时数据传输(Isochronous Data Transfers) 等时数据在产生,传输和消费中是连续的和实时的。等时数据必须以接收的速率传递以保证时间。另外对于传递速率,等时传输可能对传递延时比较敏感。对于等时管道,

Ethernet Interface

MII 信号定义 名称 描述 ETHCK Transmit Clock ETX[0:3] 4-bit Transmit Data ETXEN Transmit Enable ETXER Transmit Error ECRS Carrier Sense ECOL Collision Detect ERXDV Data Valid ERXCK Receive Clock ERX[0:3]…

LCD液晶接口

VGA RGB接口I/O定义 信号 方向 功能 D[7:0] I/O 传感器数据 RESET O 传感器复位 ENB I/O 传感器电源使能 CLK O 传感器时钟 HSYNC I 行同步 VSYNC I 列同步 SDA I/O I2C, EEPROM 数据 SCK I…

SPI Specification

SPI配置 SPI总线传输过程有2个参数:CPOL和CHPA。 CPOL定义了SPI Clock的极性。CPHA定义了数据采样和驱动的时钟相位。 CPOL=0表示空闲状态下Clock管脚为逻辑0。 CPHA=0,数据在Clock的上升沿采样,Clock的下降沿驱动。 CPHA=1,数据在Clock的下降沿采样,Clock的上升沿驱动。 CPOL=1表示空闲状态下Clock管脚为逻辑1。 CPHA=0,数据在Clock的下降沿采样,Clock的上升沿驱动。 CPHA=1,数据在Clock的上升沿采样,Clock的下降沿驱动。 综上,CPHA为0时,数据在Clock的第一个沿采样,CPHA为1时,数据在Clock的第二个沿采样。 注意:CPHA为0时,数据必须早于第一个Clock在总线上稳定。 SPI传输 由于SPI时钟是由主设备提供的。SPI传输是双向同时进行的。主机在用户向数据寄存器写入数据启动SPI传输,从机如果需要向主机发送数据则需要在总线空闲即主机未启动SPI传输之前向数据寄存器写入数据。 REF:http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus