片上资源包括2个32位定时器;1个A/D输入接口;18个多功能I/O接口;1个CPLD;1个64M的SDRAM;1个4M的Flash;1个64M 的Nand Flash控制器;还有中断控制器和系统管理器。
处理器采用芯片S3C2410。S3C2410有出色的内核性能,丰富的外部接口和低功耗。在系统中我们用到2种内存,一种SDRAM,一种Flash。
SDRAM具有运行速度快的优点,但是掉电后不能保存数据。所以在系统主要是用来运行操作系统、应用程序和各类数据的缓存。
Flash内存较SDRAM运行速度慢.但掉电后能保存数据。在该系统设计中选用一种通用的Flash (SST39VF1601),容量为2MB,主要用于固化启动代码和控制应用程序,并保存一些系统数据。
3.2 A/D转换
A/D转换电路采用MAXIM公司的MAX197,MAX197采用逐次逼近技术以达到快速变换和低功耗。如图4所示。
图4 MAX197
预处理电路包括了电流电压互感器、隔离电路和同步采样电路,可以将信号转换成MAX197相匹配的量值。图4所示的电路采用了内部时钟。 和 逻辑输入端用于启动变换和从器件读出数据。
4 系统软件设计
为了满足系统对实时性和安全性的要求,系统采用了嵌入式操作系统uClinux。uClinux是针对微控制领域而设计的linux系统,是在linux的基础上添加了对没有内存管理单元的微处理器的支持。一方面它继承了linux的稳定性优点,另一方面其内核相当精简。因此在嵌入式领域得到广泛应用。
该脉象仪系统的软件主要由三个部分组成,系统软件结构如图5所示,包括嵌入式linux操作系统,A/D驱动程序和应用程序。
图5 系统软件结构
4.1 嵌入式uClinux的构建
将嵌入式uClinux系统移植到特定的硬件平台上,大致需要完成建立叉编译环境,配置编译uClinux内核,制作根文件系统,下载和调试内核四部分的工作。
4.2 A/D驱动程序的设计
在uClinux系统下,驱动程序可以看成uClinux内核与外部设备之间的接口。驱动程序向应用程序屏蔽了硬件实现上的细节。可以使用和操作文件中相同的系统调用接口函数来完成对硬件设备的打开,关闭,读,写以及I/O控制操作。