基于cortex-m3芯片的无线测距系统毕业论文(编辑修改稿)内容摘要:

相同的波特率,虽然收发双方的时钟不可能完全一样,但由于每一帧的尾数最多只有 12 位,因此时钟的微小误差不会影响接受数据的正确性。 在一般实验中,串口通信最常用的波特率是: 9600bps 和 115200bps。  在串行通信是将数据拆分,一位一位地 发送出去的。 GPS 定位技术及 数据传输协议 NMEA‐ 0183 NMEA 0183 是美国国家海洋电子协会( National Marine Electronics Association )指定的标准协议,目前已经被广泛的接受作为 GPS 导航设备通信协议的标准。 其中协议的各个命令如 表 21所示 : 编号 命令 说明 最大帧长度 1 $GPGGA 全球定位数据 72 金陵科技学院学士学位论文 9 2 $GPGSA 卫星 PRN 数据 65 3 $GPGSV 卫星状态信息 210 4 $GPRMC 运输定位数据 70 5 $GPVTG 地面速度信息 34 6 $GPGLL 大地坐标信息 无 7 $GPZDA UTC 时间和日期 无 表 21 指令意义 发送数据的顺序 如表 22所示 : 1 2 3 4 5 6 7 $PZDA $GPGGA $GPGLL $GPVTG $GPGSA $GPGSV*3 $GPRMC 表 22 数据发送顺序 协议帧总说明: 该协议采用 ASCII 字符直接传输,传输的通信格式为:一个起始位,无奇偶校验位,一个停止位,通信速率默认为 4800bps。 帧格式形如: $bbccc,ddd,ddd,„ ,ddd*hhCRLF “ $” —— 帧命令起始位 bbccc—— 地址域,前两位为识别符,后三位为语句名 ddd„ ddd—— 数据 “ *” —— 校验和前缀 hh—— 校验和 ,$和 *字符之间所有 ASCII 字符的校验和(每个 ASCII 字符的异或运算。 ) CRLF—— 数据信息结束的表示,表示回车和换行。 GPGGA 这帧数据是最常用的数据,必须要掌握,包含的 GPS 信息也最多。 $GPGGA,1,2,3,4,5,6,7,8,9,10,11,12,13,14*15CRLF 1 全球定位时间,格式为 时分妙 .毫秒。 2 纬度信息数据。 3 S代表南纬, N代表北纬。 4 经度信息数据。 5 E 代表东经, W代表西经。 6 定位成功标志, 0=定位失败, 1=定位成功。 7 连接卫星的数量,从 0 到 12。 8 平面精度值, 至。 金陵科技学院学士学位论文 10 9 海拔高度, 之。 10 高度的单位, M 代表长度单位米。 11 大地相对海平面的高度(‐ 到 )。 12 高度的单位, M 代表长度米。 13 差分 GPS 接受数据的时间界限。 14 差分参考基站的编号。 15 校验和。 12864 显示器 12864 液晶显示器有两种显示模式,一:字库显示模式,二:图像显示模式。 其中使用字库显示模式是要使用基本指令集,使用图像显示模式时要用到扩展指令集。 在操作 12864液晶显示器时要了解其各个管脚的定义与功能, 表 23 是 12864 液晶显示器的管脚定义与功能 : 引脚编号 名称 电平 功能 1 VSS 0V 电源 2 VDD +5V 地 3 V0 LCD驱动电压 4 D/I H/L H:写数据 L:写命令 5 R/W H/L H:读信号 L:写信号 6 E H/L H:使能 L:失能 714 DB0DB7 H/L 数据端口 15 PSB H/L H:并行 L:串行 16 NC 17 /RES H/L H: L:复位 18 NC 19 LED(+) +5V LCD背光电源 20 LED() 0V LCD 背光地 表 23 12864 引脚名称 常用寄存介绍: 1.清除显示 ,清除命令的定义如表 24 所示 RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L L L L L L H 表 24 清除命令 功能:清除显示屏幕,把 DDRAM 地址计数器调整为“ 00H” 2. 地址归位 ,地址归位命令如表 25所示 金陵科技学院学士学位论文 11 RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L L L L L H X 表 25 地址归位命令 功能:打 DDRAM 地址计数器调整为 “00H”, 游标回到原点,该功能不影响屏幕的显示 3.显示状态 开 /关 ,显示开关命令如表 26 所示 RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L L L H D C B 表 26 显示开关命令 功能: D 为 1。 整体显示开 C为 1。 游标显示开 B为 1。 游标位置开 在编写程序的过程中,若不读取芯片的忙碌状态,写入数据与命令之后必须延时一段时间,来等待芯片的操作结束。 金陵科技学院学士学位论文 3 软件环境的构建 12 3 软件环境的构建 编译环境的安装与使用 随着时间的推移, ARM7 和 ARM9 内核越来越深入微控制器领域,引来了许多的开发工具对这些 CPU 的支持,其中主要的开发编译平台有 GCC、 Greenhills、 Keil、 IAR 和 Tasking等。 随着新一代 CortexM3处理器的诞生,绝大部分的开发工具都很 “ 识趣 ” 地迅速进行更新以支持 Thumb2指令集。 因此在进行 STM32 开发之前,开发人员事先至少需要要获取以上几种开发工具的一种。 所幸的是,这些开发工具都能轻易的获取到,并且有的还是免费开源。 一般情况下,建议选用芯片提供商所推荐的开发平台。 但时至今日,每个开发平台都有其长处,要在两个开发平台之间分出优劣,恐怕要花费大量的时间来讨论,并且往往无疾而终。 因此除了芯片提供商推荐的开发平台外,开发人员还是有别的选择的。 开发平台主要分为两类。 一类是免费开源的具有 “ 大众 ” 性质的开发平台,而一类是收费具有 “ 专业 ” 性质的开发平台。 免费的开发平台,首当其冲的无疑是基于 GCC 或 GUN 编译器的开发平台,这两个编译器是完全免费且开源的,用户可以任意下载在任何场合放心使用。 GCC 编译器已经被整合到众多的商业集成开发环境 ( IDE)和调试工具中,也由此出现了许多廉价的开发工具和评估开发板。 GCC 编译器的可靠性和稳定性是有目共睹的,但是大众普遍认为它生成的代码不比商业平台来的更有效率,而使用 GCC 遇到的问题也无法得到直接的技术支持,这样就会容易延缓产品的开发进度。 商业开发平台方面, ARM RealView 开发平台作为 ARM 公司自行推出的产品,在业界具备相当的权威性,但其也以压倒性的强大功能和令人生畏的价格令诸多工程师“又爱又恨”。 RealView 编译器是 ARM RealView IDE 一系列组件之一,在片上操作系统领域应用较多,但是对于微控制器开发并没有很好的支持。 MDK 的长处在于功能完善,易于使用,而且为开发者提供了无缝的工具集。 相比 Keil 而言, IAR 编译环境是 1938 开发的,许多芯片公司,如德州仪器、意法半导体、美信等的前沿产品都使用 IAR 编译环境。 在本次课题中,使用 Keil 编译环境。 首先在官网 1. 点击 安装包安装,选择安装路径 ,出现如图 31所示的对话框 : 金陵科技学院学士学位论文 3 软件环境的构建 13 图 31 安装初始化界面 2. 填写用户信息,输入姓名、公司名和邮箱地址 ,安装程序会弹出如图 32 所示的对话框: 图 32 用户信息登录界面 3. 安装完成之后需要对软件进行破解,否则软件无法编译调试打大的文件程序。 接下来是建立一个可用的工程, Keil 编译器是以工程的形式来组织建立代码的,各个金陵科技学院学士学位论文 3 软件环境的构建 14 c语言的源文件都要在工程的组织形式下才能发挥作用。 首先点击编译中 project 中的 new project 按钮,即新建一个工程, 如图 33 所示。 图 33 新建工程界面 下面一步是选择硬件的型号,这个步骤很重要,每款硬件 都有区别,对应的启动代码也就不一样, Keil 编译器的一个优点就是不需要用户编写硬件的启动代码,选择硬件的型号之后就会自动生成硬件的启动代码,所以这一步不能够选错,否则就会生成错误的启动代码,这样硬件芯片就无法配置出正常的 c语言运行环境,整个软件系统也就无法正常工作,但往往这个错误在程序中却很难发现。 本课题所用的到硬件是 ST 公司的招牌芯片 STM32F103VC,按 图 34选择正确的芯片型号: 金陵科技学。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。