远程心电医疗信号监测系统的设计与实现
换电路。
首先心电导联采集过来的微弱心电信号通过前置放大电路进行放大,此部分包括右腿驱动以抑制共模干扰、屏蔽线驱动以消除引线干扰,增益设成10倍左右,AD620由传统的三运算放大器发展而成,为同相并联差动放大器的集成。其具有电源范围宽(±2.3~±18 V),设计体积小,功耗低(最大供电电流仅1.3 mA)的特点,因而适用于低电压、低功耗的应用场合。放大后的信号经滤波、50 Hz陷波处理后再进行二次放大,后级增益设成100倍左右。由于ECG信号幅度最大就几mV,而A/D转换中输入信号的幅度要求在1 V以上,其中,滤波采用压控电压源二阶高(低)通滤波电路,用于消除0.05~100 Hz频带以外的肌电等干扰信号,工频中的其余高次谐波也可被滤除掉。
A/D采样芯片采用TI公司的8位串行芯片TLC549,该芯片采用SPI接口,仅用三条线即可实现采集控制和数据传输;具有4 MHz的片内系统时钟和软、硬件控制电路,转换时间小于17μs,采样速率达40kS/s;采用差分基准电压技术这个特性,TLC549可能测量到的最小量值达1 000 mV/256,也就是说0~1 V信号不经放大也可以得到8位的分辨率。
3.3 数据采集控制器设计
在自TLC549的I/O CLOCK端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次A/D转换。则一路采集时间为:0.5μs×(3+8×2+1)=10μs,而芯片转换时间小于17μs,则整个过程时间花费为27μs。为了有效的利用该控制器,在一路A/D转换期间,同时进行另外一路A/D采样,这样就可以在40μs时间内完成对四路信号的采集,大大提高了工作效率。
Din为采集数据的串行输入,时钟由系统时钟通过分频系数得到。设计中,设置了fsm作为采样控制时钟,这样可以根据需要来调整采样速率。为了取得连续和正确的采集数据,实现无缝缓冲,鉴于FPGA设计的灵活性,本设计采用了双缓冲存储的乒乓操作结构。本设计通过将AD采样时序控制器交替存储在两个512 B的双口RAM中实现数据的缓存,当其中一个DPRAM1存储满后即转为存储到另一个DPRAM2中并产生一次中断,这样在控制器写数据到DPRAM2中时系统将有非常充足的时间将DPRAM1中的数据取出。
3.4 显示模块设计
本设计采用的LCD面板是TFT 320*240 LCD。该LCD模块没有显示控制器,因此需要设计显示控制器IP核来驱动LCD面板。图像存储器lcd_fifo是采用片内FIFO,可以根据需要进行词整。256色的颜色查找表采用片内RAM来存储。图像信息能够通过AvaIon总线主端口写入的突发块传输方式进行传输,利用DMA从内存中自动读取,在SDRAM图像存储器image_ram与片上图像数据缓存器lcd_fifo之间建立了一条专用DMA通道。
IP核(Intellectual Property core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。该LCD控制器IP核主要由4个模块组成:接口模块、内存模块、颜色转换模块和时序模块。
接口模块主要是NiosⅡ处理器对LCD控制器进行控制及状态读取。接口模块主要是以寄存器方式存在的,其中寄存器有:控制寄存器、状态寄存器、DMA地址寄存器和中断寄存器。
内存模块是Avalon总线的主接口部分,在系统启动之后,利用DMA传输模式,通过Avalon总线主端口写入的突发块传输方式,完成图像数据存储器image_ram中的图像数据到片上图像数据缓存器lcd_fifo的独立读取。采用DAM传输方式是为了把NiosⅡ软核处理器从频繁地进行数据读取操作的工作中解脱出来。
时序模块严格按照LCD的时序编写,其中LCD时钟为5 MHz。通过控制数据使能信号启动lcd_fifo数据输出,逐行扫描显示。同时,设计该模块时,在数据有效信号(DE)有效前,须检查lcd_fifo中是否存有数据,以确定是否进行数据读取和传输;须进行调色板模式设置,在帧传输过程中需要进行模式锁定,以免出现传输错误;须根据不同bpp模式,确定不同的读取时间段,18bpp每次都读取,16bpp间隔1次读取,8bpp间隔4次读取。
3.5数据存储模块设计
本设计选用SD卡作为外接存储硬盘。SD存储卡具有大容量、高性能、安全性好等特点的多功能存储卡,被广泛用于数码相机、掌上电脑和手机等便携式设备中。SD卡上所有单元由内部时钟发生器提供时钟,接口驱动单元同步外部时钟的DAT和CMD信号到内部所用时钟。SD卡有两种通信协议,即SD通信协议和SPI通信协议,与SPI通信协议相比,SD通信协议的最大优点是读写速度快,单根数据线理论上可以达到25 MB/s,四线传输可以达到100 MB/s。
本设
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)