2.5 语音通信
立体声CODEC芯片WM8731是一个高性能、低功耗的24位音频立体声接口,被广泛应用于各种便携式音乐播放器中。该芯片可以分别设置音频ADC和DAC的采样率,包含microphone-in、line-in和line-out接口,WM8731用I2C接口与FPGA连接。
语音发送接收要有一个合适的波段,本文选定为15.6 MHz。让软件生成一个锁相环变频模块,AUDIO_DAC_ADC.v需要一个15.6 MHz的时钟,调用FPGA上的锁相环(PLL)资源,让软件生成这个模块的。v文件,然后在de2_top.v中添加这个模块。
添加AUDIO_DAC_ADC模块过程为:
reg signed [15:0] audio_outR;
wire signed [15:0] audio_outL;
wire signed [15:0] audio_inL, audio_inR;
AUDIO_DAC_ADC u2 (//Audio Side
.oAUD_BCK(AUD_BCLK),
.oAUD_DATA(AUD_DACDAT),
.oAUD_LRCK(AUD_DACLRCK),
.oAUD_inL(audio_inL),/audio left data from ADC
.oAUD_inR(audio_inR),//audio right data from ADC
.iAUD_ADCDAT(AUD_ADCDAT),
.iAUD_extL(audio_outL),//audio left data to DAC
iAUD_extR(audio_outR),//audio right data to DAC
//Control Signals
.iCLK_15_6(AUD_CTRL_CLK),
.iRST_N(1′b1));
显示器选用唯信诺公司提供的OLED有机发光显示器,分辨率160×128,6.5K色,用16位并行数据总线与FPGA相连。OLED的控制芯片为LGDP4216,OLED供电电压10 V~21 V,接口供电电压2.2 V~3.3 V。显示区域大小可变,最大160(RGB)×128行,刷新率有7种,默认90 Hz。
2.7 RS232数据传送与报警
使用MAX3232电平转换芯片和9针D型连接器进行串口通信。由于系统是3.3 V供电,因此需要使用MAX3232进行电平转换。MAX3232是3.3 V工作电源的RS232转换芯片。护士室MAX3232适配器端口装有三个LED灯分别用来显示执行状态、数据传送、报警。串口直接连接到CyclII FPGA上。MAX3232芯片包含两组收发器,最大数据传输率250 kb/s。报警功能主要是在护士室显示,绑定在传输模块上,当余液控制达到下限时发生报警。
3 软件设计
输液控制主程序主要由初始化模块和各功能模块组成,如图5所示。初始化模块主要完成对通信、中断、定时的初始状态设置。初态时,RS232通信端口设置为接收状态,波特率设置为19 200 b/s;各功能模块包含键盘控制、点滴速度检测、步进电机控制、数据显示、语音通信及报警等。