各品牌ARM SoC技术比较分析
在主机控制器和主机控制器驱动程序之间,有两个通信信道。第一个信道使用主机控制器内部的作业缓存器组,这个信道的通信对象(目的地)就是主机控制器。这组缓存器包含了控制、状态、串行指针(list pointer)缓存器。它们都被映像至系统总线(ASB)的映像区域内。其中有一个指标是指向处理器的地址空间—称为“主机控制器通讯区域”(Host Controller Communication Area;HCCA)。HCCA正是第二个通信信道。在此信道内,主机控制器是通信主控(主导)者。HCCA包含一些起始指标(head pointer),分别指向中断模式的“端点描述者”(Endpoint Descriptor)串行、已处理完毕的队列(done queue),和“讯框起始”(start-of-frame;SOF)所代表的状态信息。
此接口的基本建构区块包含:端点描述者(ED)和传输描述者(Transfer Descriptor;TD)。主机控制器对系统内的每一个端点各别分配一个ED,TD队列连结至特定的ED上。
虽然有了硬件的USB 2.0主机端口,但是USB的软件驱动程序仍然是不可或缺的。图7是它的USB驱动程序架构。USB的数据处理作业是透过下列的通信层完成的:
主机控制器硬件和序列引擎(serial engine):在总线上,传送和接收USB数据。
主机控制器驱动程序:驱动主机控制器硬件和处理USB通信协议。
USB总线驱动程序和集线器驱动程序:处理USB命令和“列举”(enumeration)。提供一个硬件的独立接口。
迷你驱动程序(mini driver):处理USB装置特有的命令。不同厂牌的USB装置可能具有不同功能的特殊命令。
类别驱动程序:处理标准的装置及其命令。某一标准类别的USB装置之类别驱动程序都具有共同的特性,或类似的程序代码和逻辑;例如:人机接口装置(HID)的驱动程序。
性能比较分析
目前在国外市场上TMS470、LPC2214、AT91RM9200等ARM SoC很受到欢迎。当然,还有其它厂牌的ARM SoC也很受欢迎,譬如:Samsung、Analog等。虽然在价格上它们不见得是最便宜的,但是由于它们的性能优异、容易应用,所以拥有许多忠实的用户。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)