传统机械式心电打印机存在着打印效率低、噪声污染严重、心电波形失真等缺点。本系统采用USB接口技术来开发的心电机热敏打印机,可以与心电图机相连,同时也可以与PC心电图机进行连接打印。
1 系统功能设计
1.1 系统功能框图
本系统采用USB接口来设计心电图热敏打印机,系统可以与心电图机相连,同时也可以与PC心电图机进行连接打印。系统实现原理框图如下:

图1 系统框图
1.2 各模块功能实现
1.2.1 主控模块
主控芯片采用Phlips的ARM7芯片LPC2148,主频时钟高60MHz,片内自带512KB的FLASH,32KB的RAM,集成带DMA的USB2.0全速设备控制器,具有2个14通道的ADC和1个DAC,同时还集成SPI串行接口,具有丰富的片上资源,满足应用要求。主控芯片通过USB芯片FT245来采集心电图数据,同时控制热敏打印头,驱动步进电机,完成心电图的打印。为了存储数据、图形、字符等,用AT24C64外扩了一片64KB的EEPROM。
1.2.2 USB模块
LPC2148芯片具有一个USB 2.0全速(12Mbps)设备端口,片上收发器,328字节可编程的FIFO。但是考虑到采用ARM要开发USB驱动程序,因此选用FT245芯片作为USB控制器,FT245BM生产厂家拥有配套的WINCE USB驱动,因此此方案避免开发WINCE下的USB驱动。FT245是用于并行FIFO双向数据传输接口的USB独立芯片,具有完整的USB协议处理,采用3.3V至5.25V独立工作电源,且具有低操作电流、低USB挂起电流、低USB带宽占用的特点。同时也预留了ARM自带的USB接口,用跳线来进行选择。USB接口电路如图2所示。

图2 USB电路
FT245的数据线D0~D7接至ARM的P1.16~P1.23,RD#,WR,TXE#,RXF#接至ARM的P0.10~P0.13。为了与ARM管脚电平兼容,FT245采用3.3V供电。
1.2.3 热敏打印头模块
热敏打印技术早使用在传真机上,其基本原理是将打印机接收的数据转换成点阵信号控制热敏单元的加热,把热敏纸上热敏涂层显影。这种技术只能使用专用的热敏纸,热敏纸上涂有一层遇热就会产生化学反应而变色的涂层,类似于感光胶片,不过该涂层是遇热后变色显影。利用热敏涂层的这种特性,研究出了热敏打印技术。热敏打印技术的关键在于加热元件。热敏打印机芯上有一排微小的半导体元件。这些元件排得很密,从290dpi~600dpi不等。这些元件在通过一定电流时会很快产生高温,当热敏纸的涂层遇到这些元件时,在极短的时间内温度会升高,涂层就会发生化学反应,显出颜色。
热敏打印机接收到打印数据后,将打印数据转换为位图数据,然后按照位图数据的点控制打印机芯上的发热元件通过电流,这样就把打印数据变成打印纸上的打印内容了。
由于本设计要求多能同时打印12导联的心电波形,所以对打印头的宽度和分辨率要求很高。本系统采用C216型行式打印头,其打印宽度可达216 mm,即1728点/行。热敏打印头的电路连接如图3所示。

图3 打印头电路
C216打印头各信号线加2.2 kΩ上拉电阻,数据通过ARM的SPI口串行输入。SPCK连接ARM芯片SPI口串行时钟引脚,P_LATCHCS连接ARM的SPI外设片选信号脚SSEL0脚,由于打印机只需单向接收数据,所以只连接MOSI脚。THERMISTOR接打印头内置热敏电阻,外加电路来检测打印头的温度,从而可对打印头作相应的保护。打印头工作需要24 V直流电压。由于每行1728点,且电源电流有限,所以必须进行打印头的加热功率控制。C216有4个加热选通信号(STROBEl~4),即1728个点可以分4次加热,每次多448个点。根据打印头参数,如每个加热点电阻为R=700 Ω时,消耗功率为31.0 mA/点;若所有点都加热时需电流1728点×31.0mA/点=53568 mA。所以设计中要根据实际加热点数通过软件进行一定的时序控制。
当打印机待机时,热敏打印头C216的VH电源应该关掉,因此设计了一个24V的电源开关来进行控制。
1.2.4 打印头保护和头温测量模块
对打印头的保护是打印机控制系统好坏的重要标志。由于行式热敏打印机对发热元件的加热时间都是ms级的,如果对发热元件连续加热超过ls,将会烧坏打印头,因此对打印头的保护必须及时、可靠。从行式打印头电路连接图可以看出,要使发热元件加热,除寄存器中数据点为高外,还必须将头电压VH-24V供电电源打开。只要任一条件不满足,就不可能给打印头加热,也就不会烧坏打印头。所以对打印头电压设计了一个电源保护电路。
如果打印过程中打印头过热,就必须停止打印,否则会烧坏打印头。打印头内置热敏电阻由THERMISTOR连接到外部检测电路,经过LM339M比较器,一旦温度超过极限温度,就通过OVER_HOT脚发出低电平给主控芯片。从而可以及时采取相应的保护措施,如图4所示。

图4 打印头保护及头温测量电路
打印过程中如果出现缺纸和开盖的情况,同样需要停止打印,否则会出现不可预测的结果。J3连接光敏对检测缺纸电路,J5连接一个开关电路。当缺纸和开盖状况出现时,电路将立即通过PAPER_SHORT脚和COVER_OPEN脚向ARM控制器发出低电平信号,控制器则立即停止打印头和电机,停止任何打印操作,以免损坏打印头。
1.2.5 电机驱动模块
打印机走纸控制采用双极斩波驱动的步进电机来实现。本设计采用Allego公司的专用双全桥PWM步进电机驱动器A2919SLB来驱动电机。驱动器输出双路可直接驱动步进电机,PHASEl和PHASE2分别由ARM控制器输出相应脉冲来控制输出脉冲频率,从而得到理想的速度。走纸电机驱动电路如图5所示。

图5 电机驱动电路
1.2.6 电源模块
本系统中涉及到5种电源:5V,3.3V,3.3V模拟,12V和24V。通过USB接口取5V的电源,由LDO稳压器SPX1117完成5V到3.3V的电压转换,为主控芯片供电。打印机需要24V供电,从外部输入9~12V的电压通过电源转换芯片MC34063转换成24V。

图6 电源电路
按照公式 可以计算出当输出电压为24V时,R51和R50分别为18kΩ和1 kΩ,电流大小为175mA,输入电压范围为8~16V。