嵌入式控制技术与系统报告.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一,设计要求
本设计主要通过串口对LED灯的开闭和闪烁频率进行控制。串口发送相关命令字符串,stm32接收到字符串后返回相应的字符串,同时LED灯的开闭状态和闪烁频率根据收到的命令进行相应的变化。
图1 RB-STM32F103开发板主要资源
二,开发板简介
本设计利用stm单片机型号是stm32f103zet6,其基本参数为:1-27分别为CPU:STM32F103ZET6,ARM Cortex-M3内核,512kB Flash,64KB RAM,LQFP 144脚封装
32位RISC性能处理器
32位ARM Cortex-M3结构优化
72 MHz 运行频率/90MIPS(1.25DMIPS/MHz)
硬件除法和单周期乘法
快速可嵌套中断,6~12个时钟周期
具有MPU保护设定访问规则
1MBit *2 的SRAM(ISSI)
128M字节NADN Flash(SAMSUNG)
16M字节NOR Flash(SPANSION)
100M/10M自适应以太网接口(DM9000A),IEEE802.3x流量控制的全双工模式,16KB SRAM,支持IP/ TCP / UDP校验生成和检查,可从EEPROM自动加载供应商ID
和产品标识等优点
16Mbit SPI串行Flash(SST25VF016B)
板载 VS1003B 高性能MP3解码芯片,支持解码音乐格式包括MP3、WMA、WAV、MIDI、P-MIIDI,录音编码格式IMA ADPCM(单声道)。麦克风和线入(Line input)两种输入方式;支持MP3和WAV流;低功耗;具有内部锁相环时钟倍频器;高质量的立体声数模转换器(DAC);16位可调片内模数转换器(ADC);高质量的立体声耳塞驱动(30欧);单独的模拟、数字和IO供电电源;串行的数据和控制接口(SPI);
外置扬声器,3.5mm接口立体声耳机插座
可调电位器,输入模拟信号
一个5向摇杆,一个Reset按钮、一个wakeup按钮、一个Tamper按键,一个自定义按钮
电压表输入接口
BNC输入端子,集成双通道CH1、CH2示波器电路
4个自定义LED
RS232串行通信接口(DB9)
MicroSD卡插槽(SD模式,不含SD卡),提供文件系统(FATFS)
标准ARM JTAG 20 PIN仿真接口座(方便连接ST-LINK,JLINK,ULINK2等仿真器)
USB HOST接口,嵌入式的主/从设备控制器(SL811HS),可以全速或低速与USB 设备通信。
LCD插槽,支持3.5寸320*240大屏幕26万色TFT-LCD模块,支持8/16位总线接口,镜面屏,超高清度,FSMC控制,还配备了ADS7843触摸控制器
外接2K IIC接口 EEPROM(24LC02)
RS485串行通信芯片(SP3485)
CAN2.0A/B通信芯片(SN65VHD230)
CAN2.0A/B通信接口,RS485串行通信接口
8M外部石英晶振
32.768KHz石英晶振,提供RTC时钟
BOOT选择位,采用开关模式,让用户使用更方便
74HC139地址解码器
USB2.0全速DEVICE接口
本开发板上固定有一个LED灯,其与控制芯片连接的引脚固化为端口G的引脚15。固化的开发板串口为串口1,由stm32的引脚图可知,串口1的固定引脚为:PA9(Tx)和PA10(Rx)。编程方式选用的是ST官方提供的库函数,精确延时函数为利用SysTick中断编写的毫秒级延时。
三,设计内容
LED灯开闭命令,其命令分别为“开启”和“关闭”。当电脑向stm32发出“开始”字符串后,电脑显示“LED灯的状态为:开启”,同时LED灯开始闪烁。当电脑
向stm32发出“关闭”字符串后,电脑显示“LED灯的状态为:关闭”,同时LED熄灭。
LED灯闪烁频率命令,其命令分别为“频率”、“完成”、“1”、“2”、“3”、其操作过程为:在LED处于关闭的状态下,电脑发出“频率”命令,stm32接受到命令后向电脑回复相应字符串,电脑收到并显示显示“LED灯的频率为:”,此时进入LED 灯闪烁频率设定程序。在进入频率设定程序后,可设定LED的闪烁频率,本设计共设定了3中LED闪烁频率,分别用代号1-3表示,其值分别为5Hz、2.5Hz、1Hz,输入相应频率代号后发送给stm32,此时电脑收到并显示相应的LED闪烁频率值。最后向stm32发送“完成”命令,电脑会收到并显示字符串“频率设置完成”,此时LED 频率设置完成,输入“开启”命令,LED就会根据设定的频率闪烁。
stm32时钟配置命令。向stm32发送“时钟配置”命令,stm32会返回其各个时钟的频率值。
本设计中所涉及的几种寄存器介绍及在使用中的介绍:
端口配置高寄存器(GPIOx_CRH)
偏移地址:04h
复位值:4444 4444h
31 30 29 28 27 26 25 24 23 22 21 20 19
rw rw rw
15 14 13 12 11 10 9 8 7 6 5 4 3
rw rw rw
位31:30,27:26,23:22,19:18,15:14,11:10,7:6,3:2的功能为:
CNFx[1 0]端口x配置位
在输入模式(MODE[1:0]=00):
00:模拟输入模式
01:浮空输入模式(复位后的状态) 10:上拉/ 下拉输入模式
11:保留
在输出模式(MODE[1:0]>00):
00:通用推挽输出模式
01:通用开漏输出模式
10:复用功能推挽输出模式
11:复用功能开漏输出模式
位9:28,25:24,21:20,17:16,13:12,9:8,5:4,1:0的功能为:MODEx[1:0]端口x的模式位(x = 0…7)
00:输入模式( 复位后的状态)
01:输出模式,最大速度10MHz
10:输出模式,最大速度2MHz
11:输出模式,最大速度50MHz