新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于ARM Cortex-M3的多路数据采集系统的设计

基于ARM Cortex-M3的多路数据采集系统的设计

作者: 时间:2010-12-14 来源:网络 收藏

最小中,采用STM32F103RBT6微控制器,工作频率可达72MHz,内置2个12位ADC,16个外部模拟信号输入通道,可达1 u s转换时间,转换范围是O~3.6V;支持7个DMA通道,可操作多种通用外设,如定时器、ADC、USART等;内置3个同步16位定时器,每个可有4个通道用于PWM波形输出。
2.1 最小的设计
按照STM32最小的设计规范和本系统的功能要求,最小系统构成如图2所示:
b.JPG

电源模块:CPU为3.3V供电,最小系统外部输入电源为5V,经过电压转换芯片LM1117-3.3获得3.3V输出电压,以提供系统电源。电源的输入输出端并接滤波电容,分别滤除电源的高频和低频噪声。
除此之外还有外部时钟,复位系统,ADC参考电压,USART串行通信,JTAG调试接口,总线驱动接口的设计。
STM32F103RBT6处理器具有51个多功能双向5V兼容的I/O口,使用时可以作为通用GPIO口,也可作为复用AFIO口。复用I/O中,本系统外设所使用的有:定时器4通道四TIM4-CH4复用PB9口;USART1引脚USART1-TX、USART1-RX复用PA9、PA10:ADC 转换通道CH0~CH9分别复用PA0~PA7及PB0、PB1。
对于复用功能的端口可以配置成以下模式:输入模式(浮空、上拉或下拉)或复用功能输出模式,此时输入驱动器被配置成浮空输入模式。ADC通道端口用作ADC输入时将对应端口配置为模拟信号输入模式;USART数据传输时,TX、RX复用端口分别配置为备用功能推拉模式和
输入浮动模式。
2.2 电压采集系统的设计
电压采集系统作为本系统的第二部分,主要实现多路电压信号顺序选择输入,获得ADC采集端的输入电压信号,同时,输出最小系统中产生的PWM方波信号,并能选择不同的ADC通道,以实现5块采集板与最小系统板级联。本部分主要包括电压采集模块、数据选择模块、PWM输出模块以及输入输出接口等。
电压采集模块:电路中采用电阻比例分压的方法,获取输入电压信号,以达到CPU采集转换的基准电压的要求。在实际硬件设计中,采用比例阻值的排阻代替分离电阻以便于电路板的绘制和整体布局。
数据选择模块:采用16选1输出的模拟开关CD4067作为数据选择器,输出控制由CPU四个端口输入高低电平作为二进制组合以确定输出的数据通道。
PWM输出模块:最小系统中选择定时器四,软件配置为PWM输出,由三极管放大后获得PWM方波。
输入输出接口:本系统数据采集和最小系统两部分采用40针排线连接,各个采集板上可以同时选择两个不同的通道,级联后各板将数据选择器的输出信号送至相应的ADC转换通道,同时输出PWM方波信号。

3 系统调试及软件设计
设计并加工好印刷电路板后,开始硬件和软件的调试。调试过程中采用逐个功能单元调试,一个功能单元调试正常后再调试下一功能模块,确保电路板出问题时可以很快发现问题点,再将各功能单元组合设置,逐步完成软件设计和系统调试,实现系统设计要求。
系统调试所使用的开发环境为IAR EW,仿真工具为ST-LINKII,使用USB接口。
3.1 最小系统板调试
将电源模块、复位、JTAG、外部晶振焊到电路板上,组成最小系统,分模块,分步骤,调试系统各部分。加电调试前检测是否有电源短路,确保电路安全。
电源模块:电路外部输入电压为5V,经电压转换后在LMlll7-3.3V输出端得到3.3V的输出。加电后,首先通过万用表测量电压输出是否正确,然后通过示波器观察输出电平的波形是否满足系统对电源精度的要求,如不满足,可以通过加大滤波电容的方法解决。
最小系统供电正常后,连接仿真器,通过软件平台可以检测到最小系统CPU,表明CPU焊接正常。调试过程中会用到外部晶振,需要检测晶振电路,将系统上电,使用示波器检测晶振管脚,观察波形,看晶振是否起振。然后编写一个简单的LED测试程序来观察CPU是否能正常工作,通过软件设置电路中LED连接的 I/O端口(PB6)输出模式,观察是否有闪烁。
DMA调试:DMA用来提供在外设和存储器之间或者存储器之间的高速数据传输。DMA通道配置包括:设置外设寄存器、数据存储器的基地址,确定数据量和通道优先级,以及数据传输的方向、循环模式、外设和存储器的增量模式等。ADC1对应DMA通道1请求,ADC通道配置中使能DMA请求。
除此之外还有USART调试、ADC调试、PWM调试等。


评论


相关推荐

技术专区

关闭