华邦W90P710/W90N745采用ARM的ARM7TDMI微处理器核以及0.18μm工艺生产,标准工作频率可达80 MHz,内建一个Ethernet MAC,采用176/128引脚LQPF封装,具有省电与低成本的优势。此外,W90P710/W90N745还集成了USB 1.1主/设备控制器,让各种应用可以透过USB接口连接各种计算机周边产品,增添了产品的整体附加价值。W90P710/W90N745内建的4KBI-Cache以及4KB D-Cache,也可以随产品开发人员的需求,设定为On-Chip RAM。
W90P710/W90N745集成具高扩展性的EBI(Exter-nal Bus Inte**ce)接口,可通过EBI访问ROM、Flash、SDRAM、PCMCTA Card等各种I/O部件。W90P7lO支持了高分辨率的TFT、STN LCD控制器。除了USB与EBI之外,W90P710/W90N745也留有UART接口,可以让客户设计各种应用时,连接更多设备,比如条形码扫描仪、VFD模块、调试口及Bluetooth模块等。除了POS(Point-Of-Sale)应用外,W90P710也适用于数据采集器、电子相框等需要用到LCD显示的产品。
1 华邦W90P710硬件评估板
目前华邦专门针对710的一款开发板,集成了所有W90P710的功能模块,并配有板级开发包,完善的设计技术和技术支持体系使华邦的710市场变得更为广泛。
如图1所示,W90P7lO评估板由以下部分组成。
MCU:标准操作频率为80 MHz,W90P710在ARM7TDMl基础上集成了丰富的片上资源,使成本费用降至最低,同时减少了系统的扩展,减小了产品的体积。
智能卡:通过EBI总线挂载性价比高、性能可靠的TDA8007芯片,可支持税控卡和用户卡。卡槽在评估板背部。
存储模块:本设计中存储器通过EBI总线挂载在系统中,内存可达16MB。程序存储器采用8MB的NORFlash,分两个区,第一个分区存储BOOT代码、内核映像和文件系统,第二个分区用来存储数据。为了满足存储大数据的需要,本设计还实现了可插拔式NAND存储器,将数据存储模块与系统主板分离。
通信模块:W90P710支持3个串口,用户可接扫描枪、VFD模块、调试口及Bluetooth模块等。W90P710内建了1个MAC,只需外加PHY即可组建成一个10/100Mbps的网口,同时内建USB主和USB设备控制器,USB设备可以模拟串口使用。
显示模块:W90P710内建高分辨率的TFT、STNLCD控制器,支持8位LCD模块,192×64点,支持简单的图形界面.包括菜单和滚动条等。通过SPI接口支持VFD模块显示。
键盘:支持16键的矩阵键盘和PS2键盘。
SD卡:支持SD卡操作,卡槽在评估板背部。
Audio:耳机插槽,可以播放声音。
Debug模块:采用ICE进行跟踪调试和bootloader的第一次烧录。
2 华邦W90P710的板级支持包
2.1 uClinux在W90P710评估板上的移植
uClinux主要是针对处理器没有存储管理单元的嵌入式系统而设计的。它保留了Linux的大多数优点:稳定、良好的移植性,优秀的网络功能,对各种文件系统完备的支持和标准丰富的API,编译后目标文件可达几百KB数量级,非常适合嵌入式系统的设计。鉴于uClinux的以上优点,同时由于Linux2.4是非常成熟的版本,本设计使用了uClinux-2.4.20版本的uClinux作为评估板的操作系统。
在W90P7lO板上移植uClinux的主要步骤:
①选择蓝本S3C4510B,然后编译该内核。期间可能会出现编译不能通过的现象,需要选择最小配置和进行适当的调试来解决。
②S3C4510B内核编译通过后,直接下载到华邦7lO开发板上运行。由于芯片不同,系统肯定会停止在某个地方,这时需要用ICE或者printk的方法跟踪调试。但由于此时串口是不能使用的,所以printk方法无法使用,可以先针对华邦W90P710写一个简单的屏幕打印串口代码,把这段代码放在/kernel/printk.c的printk函数中。这样就可以用printk跟踪调试了。
③修改相应的中断函数。此步骤主要修改arch/armnornmu/kernel/irq.c中的init_IRQ及其头文件,对W90P710的中断控制器进行初始化。
④修改相应的tinier函数。在arch/armnommu/kernel/time.c中定义,同时调用arch/ammonmm/mach-w90p710/time.c文件,对应的头文件time.h也要作相应修改。
⑤修改irq和timer之后,操作系统基本上可以运行起来。由于串口驱动比较简单且很实用,所以首先针对W90P710进行串口驱动编程,这样一个基本的uClinux内核就可以运行在华邦W90P710评估板上了。
2.2 华邦W90P710评估板各模块驱动
根据图1的评估板硬件组成,可以给出主要模块的软件驱动。
智能卡:通过EBI总线挂载性价比高、性能可靠的TDA8007芯片,驱动程序文件为1inux/driver/char/tda8007b_sc.c,驱动程序经过完整的测试,性能可靠,在税控机中广泛应用。
存储模块:NOR Flash驱动文件在linux/driver/mtd/chips下面,名称为winbond.c,NAND Flash驱动文件在linux/driver/mtd/nand下面,名称为w90p710_hand.c,用户可以按照自己的需要修改驱动程序里面相应的分区。目前华邦710BSP支持yaffs和jffs2两种针对NANDFlash和NORFlash的文件系统。存储模块的驱动进行了大量的模拟掉电等边缘测试,性能良好。
通信模块:W90P7lO支持3个串口,分别是linux/drlvers/char/w90p710_uart_1.c和w90p710_uart_2.c和w90p710_uart_3.c。W90P710内建了一个MAC,驱动程序为linux/deriver/net/w90p710_mac.c,usb device驱动为linux/drivers/char/w90p710_usb.c。
显示模块:W90P710内建高分辨率的TFT、STN LCD控制器,驱动程序为linux/drivers/media/vedio/w90p7l0_lcd.c,支持VFD模块显示,驱动程序为linux/driv-ers/media/vedio/w90p710_vfd.c。
键盘:支持16键的矩阵键盘,驱动程序为linux/drivers/char/w90p710_keypad.c和ps2键盘,驱动程序为linux/drivers/char/w90p710_ps2.c。
SD卡:支持SD卡操作,驱动程序为linux/drivers/scsi/w90p710_sdio.c。
Audio:驱动程序为linux/drivers/souod/w90p710_Aodio.c。
华邦板级开发包所包含的驱动程序都是经过严格的测试,且由广大客户共同维护的,所以程序严谨,性能优越。可以从www.udinux.org网站下载uClinux-dist20051110.tar.gz,以获得华邦W90N740、710系列的板级开发包。 |