| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于ARM的超声波测距模块开发毕业设计(论文)

文***品

贡献于2020-09-03

字数:37179




毕业设计(文)


基ARM超声波测距模块开发




目录

第章 概述 1
11课题源 1
12超声检测技术简述 1
121超声波检测 1
122超声检测误差源 2
13系统务求 3
14系统方案设计 3
15系统开发意义应 4
第二章 系统原理分析 5
21超声波检测系统分析 5
211超声波测距原理 5
212温度补偿原理 5
22超声波检测预备知识 6
221超声波应 6
222超声波传感器 7
第三章 系统总体设计 11
31智测量模块总体设计 11
311超声传感器选择 11
312超声信号处理 12
32系统模块电路设计 13
33系统通信总体设计 13
331串行通信基概念 13
332串行通信程 14
34系统通信软件设计 14
第四章 系统硬件设计 16
41关键器件选择 16
411嵌入式ARM微处理器LPC2131 16
412液晶显示器 16
413 超声波传感器 16
42超声波检测模块 17
421超声波收发分体回路设计 17
422超声波收发体回路设计 19
43液晶模块 20
431 FYD128640402B液晶模块介绍 20
432 FYD128640402B液晶模块应 21
44串口通信模块 21
441 串行通信协议 21
442 串行通信总线标准接口 21
45温度补偿模块 22
451温度传感器DS18B20原理 22
452 DS18B20ARM接口电路 22
46电源模块 23
第五章 系统软件设计 24
51系统程序总体设计 24
52位机程序设计 25
第六章 系统测试 29
61系统操作 30
62测试结果分析 31
第七章 系统展 33
结束语 34
致 谢 34
参考文献 35
附录系统PCB图 37
附录二整机实物图 37
附录三程序代码 38
附录四翻译 41

第章 概述
11课题源
超声波测距技术年出现测距新技术[1]种非接触检测方式红外激光线电测距相 具结构简单性高价格便宜安装维护方便等优异特性距范围超声测距具受光线颜色电磁场影响恶劣作业环境定适应力[2] 利超声波测距实现定位环境建模场合液位汽车防撞雷达井深道长度测量机器定位辅助视觉系统等方面广泛应传统超声波测距仪测量精度普遍较低满足高精度测量求克服足 作者测距仪结构设计回波信号处理角度出发提出基回波包络峰值[3]检测方法进步提高测距仪超声检测精度系统稳定性抗干扰性设计基ARM实现
12超声检测技术简述
121超声波检测
图11声波频率界限
声波种气体液体固体中传播机械波根声波振动频率范围分次声波声波超声波特超声波般耳听声音频率范围20Hz~20kHz间频率低20Hz波称次生波高20kHz波称超声波频率高Hz波称特超声波[4]声波频率界限图11示超声波检测中常工作频率025~20MHz范围






超声波具良品质超声波研究应已渗入工业农业国防医学航天航空等领域取卓成效进展[5]甚认超声技术电子技术信息技术核技术相媲美门具广阔发展前景高新技术
122超声检测误差源
系统采渡越时间法进行物位测量通断检测超声波发射遇测界面反射回回波测出发射接收回波时间差t然求出测物位传感器距离L已知声速v情况难出:
L05vt (1)
面影响超声波距离测量精度素进行逐分析
(1)声速
式(1)出必须知道声波媒质中传播速度v传播时间求出测距离种媒质声速实际测量时难声速成变恒量媒质成分温度压强等素没变化测量精度求高情况声速作变方法勉强满足测量求否应该进行声速校正
数情况温度影响声速重素例空气中声速理公式: (2)
式中 T摄氏温度式(2)表明空气中声速温度函数时式(1) m (3)
难出温度变化1℃引起声速变化约千分18测量结果影响较应进行温度补偿通常情况设备中安装温度敏感元件采适补偿电路利敏感元件输出信号声速进行校正
(2)硬件响应时间
硬件电路定延时例滤波电路般十微秒左右外超声物距测量系统中广泛采ARM检测渡越时间ARM系统延时相讲较例利ARM外部中断检测回波触发信号设置高中断优先级会中断阻碍中断响应需定时间
(3)触发时间
般说接收信号幅值超规定阈值时时刻作停止计时信号[6]测物位发生变化时接收电路输出信号幅值发生变化距离输出信号幅值较时回波信号第二周幅值超规定阈值进发出停止计时信号距离较远时输出信号幅值较回波信号第3周(甚第4周)幅值超规定阈值发出停止计时信号理讲停止计时信号应图中a点发出阈值存实际停止信号图中a点某时刻发出发出时刻(时间检出点)物位变化变化种时间检出点变化产生物位测量误差
图12 放滤波回波信号









13系统务求
1测量范围: 0~15m
2测量精度: ±1
3温度范围: 10℃~50℃
4显示: 液晶显示
5电源: 置电源外置稳压电源12~24V
6抗干扰: 噪声力强(检波力强)
7检测类型: 12超声头
8外部接口: RS232接口
14系统方案设计
超声波测距技术工业生产科学研究中广泛应超声波测距电路种样甚已专超声波测距集成电路[7]电路复杂技术难度调试困难专集成电路成高操作方便目前国超声波测距专集成电路精度达厘米级满足般工业测量求精度求较高测距场合合适
测距系统基ARM开发抗干扰性强利超声波测距原理结合ARM数处理测量精度达毫米级串行通信LCD显示体串行通信功系统PC机进行通信LCD显示功显示测量数
系统采渡越时间法测量超声波谓渡越时间法表述:设超声波发射传感器目标障碍物距离L超声波空气中传播速度v超声波发射接收传感器接收历渡越时间tLvt2
中该系统中超声波返时间间隔ARM通外部中断定时获定时结果通软件算法算出终距离终结果通ARM送液晶显示通RS232串口通信测数送位机显示实现数实时监控
充分利ARM中资源量降低测距系统成系统采ARM控制产生40kHz方波信号驱动超声波传感器增强测距范围发射部分增加信号功率发电路进步提高发射信号功率[8]提高测距范围接收信号处理系统采电压放电压较方案成低廉超声波传播程中程度衰减达超声波接收传感器时候信号已相必须接受信号进行放放送电压较器进行较通较检测出信号送ARM进行处理实现测距离测量环境温度超声波传播速度影响较需采集环境温度超声波传播速度进行修正
便实时检测控制测量数次距离变化时通串口传送位机位机测量数进行相应数字信号处理
15系统开发意义应
超声波检测控制技术超声波作采集信息手段损坏接触测量象情况探测象距离场合控制中需检测参数超声波测距种效测量方法着广泛应目前超声波测距系统存着精度低盲区测量数稳定等问题针述缺点作者 设计独特效盲区消隐接收信号处理方法进行温度补偿提高测量精度灵活性ARM作控制中心研制智化便携式超声波测量系统该系统种技术指标均达工程应求具市场潜力
第二章 系统原理分析
21超声波检测系统分析
211超声波测距原理
系统ARM核心ARM控制定时发出方波信号时准备接收发射机产生40KHz左右脉信号放驱动超声波传感器方波信号超声波传感器转换超声信号障碍物发射超声波信号介质中传播遇测物体表面时介质反射性差异超声波传播影响发射波接收电路接收时转变成电信号该信号相应选频检波放进行信号判ARM相应触发信号ARM接收数进行处理参发出控制脉基准时间出超声波介质中传播时间基检测实现方法图21示原理公式表示
21智测量模块系统图










212温度补偿原理
常温常压空气似理想气体超声波理想气体中传播速度 ms式中气体摩尔质量r气体热R气体常数T热力学温度定气体r定值公式知:声速热力学方根成正温度越高声速越温度越低声速越必须考虑温度超声波传播速度影响设0时声速t时声度 ms ms 0时空气中声速实验值33142mst空气中声速表达式:式中ms:ARM进行开方运算程序实现较困难便ARMC语言编程现数学软件Matlab编程实现公式简化运Matlab项式拟合编程实现:
t0001100 拟合温度范围
v033142*(1+t273)^05 声速摄氏温度理公式
vpolyfit(tv03) 拟合出声速温度项式
fvpolyval(vt)
subplot(121)
plot(tv0''tfv'r')
gtext('蓝色曲线理速度曲线')
ylabel('速度 V0((ms)')
xlabel('温度 t(℃)')
subplot(122)
plot(tfv'r')
ypoly2sym(v)
gtext('红色曲线拟合速度曲线')
ylabel('速度 V(ms)') 图22拟合曲线理曲线较
xlabel('温度 t(℃)')
运行Matlab程序出拟合声速摄氏温度曲线理声速摄氏温度曲线图22运行程序拟合声速摄氏温度关系:
ms
通传感器测空气中温度代入述公式超声波空气中传播速度检测出超声波空气中传播时间T便超声波空气中传播距离:
22超声波检测预备知识
221超声波应
超声波传感器利超声波特性研制成传感器超声波传感器技术已广泛工业国防交通生物医疗家庭领域[9]超声波技术应表示


备注


备注








金属材料非金属材料探伤
测量金属非金属厚度
超声振动切削加工(金属非金属)
超声波清洗零件 超声波焊接
超声波流量计
超声波料位液位检测控制
超声波显微镜 温度计
种制造业

板材材
钟表业精密仪表轴承
半导体器件生产

化工石油轻工
海洋
鱼群探测 深度测量
声纳 水中摄影

通信

定通信

医疗
超声波诊断仪(显技术)
超声波胎状态检查仪
超声波血流计 超声洁牙器
断层图象
222超声波传感器
(1)超声波传感器原理
超声波传感器两种工作方式:直射式反射式反射式超声波传感器工作原理图23示首先振荡器产生40kHz方波信号放器驱动超声波发送器发出40kHz超声波外传播超声波接收器接收述信号通放器滤波器控制信号送控制器图中ab构成双晶体片40kHz超声波驱动发送器中双晶体片方压缩拉伸形成超声波
图23 超声波传感器工作原理










(2)超声波基特性
1频率特性图24某超声波发射器频率特性曲线发射器中心频率该频率处发射器产生超声波强超声声压级高两侧声压级迅速衰减中定频率接交流电压驱动超声波发射器图25某超声波接收器频率特性中中心频率图25知联电阻较时曲线处尖锐接受灵敏度高知超声波具较选频特性特性优势联电阻R关
图24 超声波发生器频率特性
图25 超声波接收器频率特性







图26 超声波传感器指特性
2指特性传感器压电晶片圆形片表面划分许点点作振荡源辐射出半球面波——子波子波没指性离传感器空间某点声压子波叠加结果具指性图26示℃时声压角度逐渐增减时声压减






(3)超声波回波检测
①波分析理
波分析种信号时间尺度(时间频率) 分析方法具高分辨率特点时频两域具表征信号局部特征力种窗口固定变形状改变时间窗频率窗改变时频局部化分析方法低频部分具较高频率分辨率较低时间分辨率高频部分具较高时间分辨率较低频率分辨率利波分析法接收回波信号进行分析噪获更加滑效回波包络曲线进利峰值检测法准确计算出回波前达时刻里采Morlet复波形状控制参数取较值时形状方面较类型波函数更加相似接收回波波形根波分析匹配原子波分析号形状越相似时利该子波提取信号特征越准确Morlet复波函数数学表达式 (1)
图27 Morlet复波
式中j 1β形状控制参数取β 1时实部虚部模图27 示






图28 回波包络峰值检测波形










图27出复波函数模完全滑包络实部虚部 利复波函数模便容易获回波信号波包络分析回波信号波包络运算处理帮助剔环境噪声信号获更滑理想回波包络曲线利包络峰值检测原理波包络回波信号分析处理准确计算回波前达时刻
②回波信号包络峰值检测
根波分析理提出种新确定回波前计算方法回波信号包络峰值检测法通示波器回波波形进行观察发现探测物传播距离回波包络线较致性回波波形致相波幅距离时类型探测物回波波形致相波幅 工程精度考虑认超声回波幅值包络线形状基回波信号变化 回波信号包络峰值应时刻b回波前达时刻a间时间差( b a) 探测物远变化变化时间差( b a)容易通实验计算出 接收回波信号包络峰值应时刻b作停止记数时刻回波包络峰值应时刻回波前达时刻时间差( b a) 消时间检出点变化引起测量误差
回波信号进行线性包络检波分通微分电路零点交叉检测进入ARM外部中断0入口完成传播声时准确计时采包络峰值时间点检测方法信号振幅关 具优良传输时间检出特性包络峰值检出原理波形图28示包络峰值检测消虚假回波干扰达阀值虚假回波峰值检测滤掉超声波接收回波幅值传播距离增加成指数规律衰减采AGC 电路放倍数距障碍物距离增加成指数规律增加电路计数器开始计时时刻AGC 电压开始时间增加增加检测回波脉清零零交叉点检测保证回波达时刻受回波变化采鉴宽电路抑制偶然尖峰干扰信号尖锐干扰信号鉴宽电路挡住达电较电路 采包络峰值检测保证回波前准确达时刻
接收器等发射脉第回波时通知定时器计数器T0微处理器外部中断接收回波信号T0计数器停止计数ARM旦识第回波达时便发生中断终止部计数器计数计数器中数进行程序处理ARM通部设定程序运算算出超声波传感器前障碍物距离测距离实时液晶显示模块显示


第三章 系统总体设计
31智测量模块总体设计
利第二章讲述测距原理作者设计超声波测距系统作检测前障碍物距离测结果实时液晶显示出检测数值通RS232485网络传送位机控制器
图31 超声测距原理框图













图出该系统5模块组成:超声波发射模块超声波接收模块温度补偿模块液晶显示模块串行通信模块具体电路模块介绍见章节
311超声传感器选择
超声检测精度取决检测方法仪器超声换器性目前低超声频段(20~100kHz)喇叭辐射面面积棒状换器辐射面声强较低粘结锈钢板表面空化腐蚀系统中采喇叭状换器种换器尤较高频段{40kHz)优点更突出削弱横振动带良影响频带较宽选择中综合考虑超声接收换器项参数指标电路阻抗匹配问题果电路输入阻抗换器阻抗致会引起驻波波形模糊
312超声信号处理
系统性受背景噪声限制抗干扰角度说应充分利信号场干扰场时空统计特性差异超声信号进行处理便限度获增益
1.信号放噪声抑制接收换器传信号微弱存着较强噪声放信号抑制噪声首先必须考虑通常低噪声晶体级调谐放器完成项务[11]检测程中工作频带窄应功率匹配前置放器输入阻抗换器输出阻抗数值相通带中心频率等信号频率样环境噪声中绝部份量阻挡通带外通带噪音抑制力通增加发射功率提高接受基阵方性提高信噪问题改善
2.混响抑制通常较简单抑制混响方法定时间规律(例指数规律)控制接收机增益时间增益控制界(TVG)出现接收机输入端信号混响噪声进行动态压缩放器增益时间变化规律混响时间衰减规律严格相反困难补偿方法增加动增益控制器(AGC) [12]
3.回波信号处理回波信号包络通常规便进行数字处理整形必整形电路形式样单稳态电路施密特触发器电路
进步滤噪声混响影响设置门限检测阈值该门限电般噪声均方根值信号超阈值时判断目标回波阈值高强信号检出样检出概率降低阈值低信号超阈值机会时噪声超阈值机会检出信号夹杂噪声会增
4.目标回波信号进步处理进行数字滤波计算求发射信号开始收目标回波止深度(距离)历时间值转换成深度(距离)值然值显示印采微处理器
系统中ARM产生波形通隔离放驱动超声换器发送端换器接收端接收信号较弱外换器身特性声程中机干扰传播介质非均匀性等造成信号时延抖动机包含噪声信号超声波传播介质中存确定素难抑制样势必影响检测精度超声信号模拟处理首先信号输出端进行隔离防止回波产生混波信号中选取中信号滤噪声信号防止驻波干扰简单模拟化处理软件信号进行数字化处理
系统中数字信号处理ARM中程序实现作者采均滤波法值值采样信号均值作信号值样信号中瞬时干扰噪声减选少采样信号求均值根信号频率噪声特征确定时应程序判断滤波法程序角度判断信号信号滤通仿真实验证明通信号处理方法效保证超声信号重现失真程度
32系统模块电路设计
图31机控制器总结构框图
智测量模块电路部分包括超声信号检测电路LCD液晶显示RS232通信接口等部分机控制器液晶显示屏中具体数显示出液晶显示采字符型液晶显示模块测数通串口传送位机时进行存储机控制器总结构框图图3-1示





33系统通信总体设计
331串行通信基概念
(1)数通信基概念
系统实际工作中位机CPU外部设备间常常进行数交换样通位机系统进行实时控制系统测数实时传送位机信息交换均称数通信系统采串行数通信方式接口RS232串口实验证明种通信方式简单易行符合系统求
(2)串行通信
图32 发射接收时钟数位较
串行通信程中二进制数字系列数字信号波形形式出现接收发送必须时钟信号传送数进行定位接收发送时钟控制通信设备接收发送字符数速度该时钟信号通常处理器部时钟电路产生接收数时接收器接收时钟升接收数采样进行数位检测发送数时发送器发送时钟降移位寄存器数串行移位输出图3-2示






332串行通信程
两通信设备串行线路实现成功通信必须解决两问题串-转换发送行数串行化接收串行数行化二设备步步发送设备接收设备工作节拍相确保发送数接收端正确读出
34系统通信软件设计
系统通信软件位机机控制器通信软件位机控制软件三部分组成
位机通信软件功接收机控制器发送信号针位机址发送应答信号根机控制器发控制信号做出相应反应发送机控制器需数通信功ARM串行中断查询收发状态标志位方法实现位机时监控点进行数采集定时存贮串行中断时执行串行中断服务程序判否机址信息址信息机址相符时转接收控制命令执行相应操作址信息站址符时退出中断位机通信流程图图34示
图34位机通信流程











图35 位机通信软件界面
机控制器通信软件实现功包括呼机机发送查询控制命令工作程控制器发送需呼机址然等接收机应答信号应答信号正确发送控制命令应答信号正确重新发送需呼址等接收应答信号接收应答信号接收位机发送数存储相应数存储区LCD液晶显示屏中显示出系统位机控制软件Delphi7编写具良视效果功包括数发送数接收串口通信设置等功位机通信软件界面图35









第四章 系统硬件设计
41关键器件选择
411嵌入式ARM微处理器LPC2131
(1)嵌入式ARM微处理器LPC2131概述
LPC2131基支持实时仿真踪1632 位ARM7TDMISTM CPU[15]带32kB64kB 512kB 嵌入高速Flash 存储器[15]128 位宽度存储器接口独特加速结构32 位代码够时钟速率运行[17]32 位定时器12 10 位8 路ADC10 位DACPWM 通道47 GPIO 达9 边电触发外部中断特适工业控制应医疗系统[18]
(2)嵌入式ARM微处理器LPC2131特性[19]
① 2 32 位定时器计数器(带4 路捕获4 路较通道)PWM 单元(6 路输出)门狗
② 串行接口包括2 16C550 工业标准UART2 高速I2C 接口(400 kbits)SPITM 具缓作数长度变功SSP
③ 片晶振频率范围:1~30 MHz
④ 单电源具电复位(POR)掉电检测(BOD)电路:
⑤ 高速:RISC型8051核速度普通8051快12倍
412液晶显示器
液晶显示器(LCD)功耗低图形美观等种优势仪器仪表产品中越越应FYD128640402B种功LCD驱动器软件方式设定系统功选择串行数传输方式FYD128640402BARM间需6根线接口
413 超声波传感器
测距系统中超声波传感器[20]采生产T4016(送信)R4016 (受信) 压电陶瓷传感器[21]图超声波传感器型号说明:
图41 超声波传感器型号说明



42超声波检测模块
超声波检测模块包括发射超声波产生超声传感器驱动部分超声回波接收放滤波信号较电路根选超声波传感器类型数超声波检测电路分:收发分体回路收发体回路面两种方案进行介绍
421超声波收发分体回路设计
图42 硬件电路整机原理图
该方案采单收单发型超声波传感器发射电路超声波传感器(发射)集成电路IC555IC4049组成电路采555集成芯片构成频率40kHz谐振荡器通IC4049集成电路驱动超声波传感器接收电路超声波传感器(接收)集成运放LM5532较器LM393集成电路IC4011IC555三极9012组成IC555构成延时回路设置超声波检测盲区[22]集成运放LM5532构成级二级放电路实现超声波回波信号增幅LM393运电压较原理设置检测回波阈值识回波信号达四2输入非门4011构成RS触发器保持超声波检出信号脉宽变正脉脉宽度超声波渡越时间三极9012实现检出正脉信号进行放然送ARM中断口ARM通中断启动部计数器正脉进行计数进行处理脉宽度超声波渡越时间[23]超声波整机发送接收电路图42图43图44示













图43 超声波发送模块
(a)超声波接收电路
(b)延时电路


























(c)保持检出回波电路
图44 超声波接收电路








422超声波收发体回路设计
该方案采收发兼型超声波传感器收发体回路[24]集成电路IC4049IC4011集成运放LM5532较器LM393二极三极组成电路ARMT0口产生40kHz超声波三极构成射极放电路放IC4049驱动超声波传感器收回波信号LM5532二级放较器LM393IC4011构成RS触发器检出脉宽变正脉信号脉宽超声波渡越时间检出正脉送ARM中断口ARM通中断启动部计数器正脉进行计数进行处理脉宽度超声波渡越时间超声波收发体电路图45示
图45 超声波收发体电路











两种方案区分体回路发送40kHz超声波硬件电路产生体回路40kHz超声波ARM[25]通软件编程产生总体考虑系统采收发分体方案系统编程模块较加ARM容量限设计时候量减少系统程序系统采收发分体回路
43液晶模块
431 FYD128640402B液晶模块介绍
(1)FYD128640402B引脚说明
脚号
名称
LEVEL

1
VSS
0V
电源
2
VDD
+5V
电源正(30V55V)
3
V0

度(亮度)调整
4
CS
HL
模组片选端高电效
5
SID
HL
串行数输入端
6
CLK
HL
串行步时钟:升时读取SID数
15
PSB
L
L:串行方式
17
RESET
HL
复位端低电效
19
A
VDD
背光源电压+5V
20
K
VSS
背光源负端0V
(2)时序图指令表
1 串口读写时序图
图 46 串口读写时序图








2 串口数线模式数传输程图
图 47串口数线模式数传输程图



432 FYD128640402B液晶模块应
(1)嵌入式ARM微处理器接口









ARM液晶FYD12864选串行总线通信方式液晶FYD1286415脚PSB接低ARM通P013脚FYD12864液晶模块进行通信时钟控制P011脚完成P015脚控制FYD12864片选端CS中ARM液晶供
44串口通信模块
441 串行通信协议
通信协议数传送方式规定包括数格式定义数位定义等通信方式必须遵统通信协议串行通信协议包括步协议异步协议两种里讨异步串行通信协议想保证通信成功通信双方必须系列约定种约定做通信规程协议必须编程前确定双方正确识遵守规定利进行通信
442 串行通信总线标准接口
系统33V系统SP3232E进行RS232电转换JP6UART0口连接跳线串口功时跳线短接相应功端JP6应短接TxD0RxD0系统中SP3232E芯片ARM接口图49示
图49 SP3232EARM接口



45温度补偿模块
超声波声速受环境温度影响较应超声波进行检测时需超声波速度进行温度补偿系统采DALLAS公司生产单总线数字式温度传感器DS18B20采集环境温度送ARMARM通软件编程超声波速度进行温度补偿
451温度传感器DS18B20原理
DS18B201Wire总线数字温度传感器[26]提供编程9位12位摄氏温度(华氏温度应场合查表转换)测量功模块图图410示引脚定义 GNDVDD电源DQ数输入输出端配置寄存器户选择DS1SB20传感器数字输出设置9101112位8位CRC发生器暂存器读写阶段提供循环冗余检验

图410 DS18B20功模块图







452 DS18B20ARM接口电路
DS18B20ARM微处理器硬件接口较简单图411图412出DS18B20两种供电方式硬件接口电路图设备外部电源供电时候ARM通接口实现数传递
图411 DS18B20寄生供电电路
图412 DS18B20外部供电电路





DS18B20采寄生电源供电远程度测量测量空间受限制情况特价值需注意DS18B20进行温度转换者暂存寄存器里面数复制EEPROM[27]时候需电流会达15mA电流通拉电阻导致期压降超出Cpp提供电流时图411示三极提供电流系统中DS18B20ARM接口电路图413示
图413 DS18B20ARM2131接口电路






46电源模块
系统部配置+12V+5V稳压源外部配置12V~24V直流输入接口户选择空间系统部电源模块图412
图414 系统电源模块










第五章 系统软件设计
51系统程序总体设计
系统采嵌入式ARM微处理器LPC2131控制核心控制器件[28]C语言进行编程章介绍系统软件实现系统软件两部分:位机(PC)控制软件位机(嵌入式ARM微处理器)控制软件位机软件包括40kHz超声信号产生回波检测[29]数处理程序温度检测液晶SP3232E芯片存储器芯片驱动程序位机软件串口通信软件包括串口设置发送数接收数窗口等线设置种通信速率奇偶校验通信端口需重新启动程序设置定时发送数时间间隔动显示接收数字符串十进制十六进制间进行切换[30]设置串口连线DTRRTS线显示CDCTSDSR线状态软件整系统灵魂系统终实现必须软件实现系统位机软件功框图图51示系统位机软件流程框图图52示:
图51位机软件功框图
图52 位机软件流程图














52位机程序设计
系统位机负责环境温度采集超声测量信息采集处理保存通串口终结果传送位机系统测试结果ARM控制液晶显示系统程序流程图图53示面电路模块程序设计进行说明
图53 位机程序流程图











(1)超声波(40kHz)产生
40kHz超声波产生运ARM部时钟实现通软件ARM某IO口(系统P00脚)置10高低电周期25us根系统硬件求发射超声波时需发送610波具体检测程序见附录
(2)超声波渡越时间检测
系统收回波信号放滤波较处理终送ARM中断口脉宽调正脉脉宽超声波渡越时间具体程序见附录
(3)FYD128640402B液晶模块驱动程序设计
FYD128640402B液晶模块程序实现流程图图54具体程序见附录





图54 FYD128640402B液晶模块程序流程图

(4)温度传感器驱动程序设计
系统采 DALLAS半导体公司新单线数字温度传感器DS18B20DS18B20支持 线总线接口温度传感器 DS18B20根IO线读写数读写数位着严格时序求DS18B20严格通信协议保证位数传输正确性完整性该协议定义种信号时序:初始化时序读时序写时序时序机作设备单总线器件作设备次命令数传输机动启动写时序开始果求单总线器件回送数进行写命令机需启动读时序完成数接收数命令传输低位先DS18B20时序图图示
图55 DS18B20复位时序
图56 DS18B20读时序
图57 DS18B20写时序

















53位机程序设计
系统位机程序Delphi开发环境中利微软Visual Basic中提供串口控件Microsoft Communication Control(简称MSComm)控件进行串口编程
531 MSComm控件处理通讯方式
(1)事件驱动方式
事件驱动通讯处理串行端口交互作种非常效方法利 MSComm 控件OnComm 事件捕获处理通讯事件OnComm 事件检查处理通讯错误编程程中OnComm事件处理函数中加入处理代码
(2)查询方式
查询方式实质事件驱动情况种方式显更便捷程序关键功通检查 CommEvent 属性值查询事件错误果应程序较保持种方法更取
532 MSComm控件属性
MSComm控件重属性首先必须熟悉属性[31]:CommPort设置返回通信端口号:Settings字符串形式设置返回数传输速率奇偶校验数位停止位PortOpen设置返回通信端口状态开关闭端口Input接收缓区返回删字符Output传输缓区写字符串MSComm控件常属性:CommPort属性Settings属性PortOpen属性Input属性Output属性
533 MSComm控件
MSComm控件通串行端口发送接收数应程序提供串行通信功非常方便面Delphi中MSComm控件进行通信编程进行简单介绍
(1)初始化开串口
设置MSComm控件属性程序设计期时直接指定程序运行期间设置象观察器设置MSComm控件属性外Delphi提供属性话框双击窗体中MSComm控件弹出通信端口号通信协议 传输速率参数数接收格式通信端口开关进行设定
(2)捕捉串口事件
MSComm控件采查询事件驱动方法端口获取数控件OnComm事件通CommEvent属性够反映串口前发生错误事件操作串口简单方法适设置控件Rtreshold属性正数然编写OnComm事件处理代码
(3)串口读写
串口读写分两种情况:字符串读写二进制数读写InputOutput中Variant变量 Delphi够直接字符串类型相互转换直接读取MSComm控件Input属性直接字符串Output属性赋值果双方二进制形式发送数果方字符串形式读写通信会失败
(4)关闭串口
完MSComm通信象需通信端口关闭果关闭窗体占端口会关闭
534系统通信软件设计
图58系统通信软件界面
安装MSComm控件选择File|New|Application菜单项保存项目单元文件然窗口中添加类组件建立系统通信软件界面图58具体实现程序见附录
第六章 系统测试
61系统测试
测试仪器:12V~24V稳压电源台
Tektronix TDS 2012 100MHz 1GSs 示波器台
万表台
PC机台(串口)
测试结果:
611发射回路测试
示波器观测超声波发射电路输出驱动超声波传感器工作声波波形峰峰值5V输出波形矩形波频率40kHz波形基失真相稳
定波形图示:





图51 555电路产生高低电1:1000 图52 555电路产生调制40KHZ方波信号 矩形
















图53 4049驱动达超声波发射传感器40KHZ方波信号
612接收回路测试
接收回路接收回波放较检出信号脉宽变正脉脉宽超声波渡越时间该脉送ARM中断口ARM通中断检测出脉宽度示波器观测产生脉宽变正脉波形程图波形稳定改变超声波传感器障碍物距离时脉宽度改变
图57 RS触发器检出脉宽反映超声波传播时间正脉信号
图55 回波信号级放波形 图56 回波信号二级放波形
图54 超声波接收传感器接收回波信号






















61系统操作
启动仪器液晶显示器显示前环境温度图58短暂停顿系统进入检测距离状态图59选择RS232输出设置系统会检测数通串口发送PC机图510


图58 温度检测 图59 距离检测 图510PC机通信

62测试结果分析
标尺(mm)
测试(mm)
标尺(mm)
测试(mm)
标尺(mm)
测试(mm)
300
300
2400
2404
4600
4603
400
400
2500
2500
4700
4700
500
500
2600
2600
4800
4804
600
600
2700
2700
4900
4900
700
697
2800
2803
5100
5100
800
800
2900
2903
5200
5200
900
898
3000
3000
5300
5300
1000
1000
3100
3102
5400
5400
1100
1100
3200
3200
5700
5704
1200
1200
3300
3300
5800
5800
1300
1296
3400
3400
5900
5902
1400
1400
3500
3500
6000
6000
1500
1500
3700
3702
6100
6100
1600
1600
3800
3802
6200
6203
1700
1697
3900
3900
6300
6300
1800
1801
4000
4000
6400
6400
1900
1900
4100
4102
6500
6500
2000
2000
4200
4203
6600
6600
2100
2100
4300
4300
6700
6700
2200
2200
4400
4400
6800
6802
2300
2302
4500
4500
6900
6900
通测试系统精度达设计求误差难避免通分析误差源改变设计测试方法降低系统误差系统更加完美测量结果进行数字滤波环境温度进行点测量避免局部温度系统造成误差

















第七章 系统展
设计开发程中严格遵循系统需求分析总体设计软硬件详细设计实现系统调试等开发步骤分阶段完成设计务系统调试程中发现存问题进步探讨改进包括方面:
(1) 检测精度方面然课题采ARM提高系统检测精度采温度补偿数字滤波方法减少部分检测误差系统测量精度然理值差距通提高采样频率进步提高检测精度综合考虑硬件承受力
(2) 性稳定性方面课题时间仓促电路分析设计量全面考虑特殊测量环境(湿度较风力较环境)系统测试数稳定换器驱动方面发射功率理想接收电路需改进
(3) 嵌入式监控方面课题作者第次运嵌入式设计许运熟悉设计时遇困难然终实现系统求会数丢失现象发生方面设计需进部修改
(4) 系统全面完善课题着重概念提出初步实验阶段实验结果然较成功果真正应产品生产改进处系统中加入控制报警模块户根需系统设定测距安全区间系统测量位移信息该区间系统动报警提醒户
课题利波分析法回波信号进行运算处理提高测距精度嵌入式ARM微处理器引入中推动着超声测距系统着控制精度更高更加智化方发展
超声波检测非接触性优点工程应中广泛应智测量模块测量料位物位液位等做成环保局水利局水位检测采集控制系统系统安装水位采集点系统采集点水位实时传位机位机通通信网络采集点水位进行实时监控系统加线发送模块通线网络数传送位机
结束语
毕业设计学四年学系统考察理学实践相结合系统学学四年学系统总结智测量模块核心控制器ARM做课题前ARM机进行系统学完成ARM系统设计调试ARM外围电路设计编程(键盘液晶显示蜂鸣器等)通学ARM相关技术较系统握
毕业设计认识果想成功耐心信心系统设计程中遇许困难问题导师指导快解决细微问题需想办法解决通系统编程深刻认识编程前首先画出程序流程图然流程图进行具体程序设计
致 谢
文导师朱昌教授谆谆教诲悉心指导完成特感谢指导老师朱昌教授感谢朱老师孜孜倦指导文汇聚导师智慧汗水导师断鼓励利完成文创作导师严谨治学态度渊博知识宽广胸怀事业献身精神留极深刻印象非常佩服程中遇什困难朱老师总提供种帮助时予学指导生活顾心底感激朱老师315实验室老师师兄师姐起日子里学段日子继续学深造坚实基础段日子永远留记忆中
时衷心感谢次毕业设计程中帮助韩庆邦老师单明雷老师李建老师路正莲老师次毕业设计中帮助支持表示感谢
感谢师兄郭卫栋王月庆邓星松师姐路龙惠等科研程中予量帮助
感谢全体315实验室兄弟姐妹次关心帮助衷心说声:谢谢谢谢帮助顾成合格科毕业生
感谢家直鼓励支持够利完成学业 作者:刘晓萍
二零零七年六月

参考文献
1 赵珂 时差法超声测距仪研制[J] 国外电子元器件2005(1) 6567
2 赵珂瑛王忠等高准确度超声波测距仪研制[J]传感器技术2003(2):5557
3 Walker James S A Primer on WAVEL ETS and theirScientific Applications [M] Florida CRC Press LLC 1999
4 腾艳菲陈尚松超声波测距精度研究国外电子测量技术2006(2)
5 刘迎春牟金秀复生毕宏彦基时差超声波测距研究[J] 计量技术2005(1)34
6赵占林 刘洪梅. 超声测距系统误差分析修正[J].科技情报开发济.2002(6):144145
7罗忠辉黄世庆提高超声测距精度方法[J] 机械设计制造2005(1) 109  
8应崇福 查济璇 超声众应[M]长沙19944867 冯超声手册[M]1999南京313473
9 赵广涛 程荫杭基超声波传感器测距系统设计[J]微计算机信2006(01)3578
10ABIDI M A Gonzalez R C The use of multi2sensor data for robotic Application[J ] IEEE Transactions on Robotics and Automation 1990 6(2) 248~256
11 徐国华 孔蕙 李贻斌等 超声波测距系统设计实现[J].电子应技术1995(12):67
12康华光电子技术基础[M] 北京:高等教育出版社 2002
13求科技.Visual C++串口通信工程开发实例导航[M].北京:民邮电出版社.2003
14求科技崔建华郭瑞军Delphi串口通信工程开发实例导航北京:民邮电出版社2003
15周立功ARM微控制器基础实战北京:北京航空航天学出版社2004
16周立功张华 深入浅出ARM7LPC2131X214X[M]北京:北京航空航天学出版社 2005
17田泽嵌入式系统开发应(第版) 北京:北京航空航天学出版社 2005

18陈赜刘振兴李宗福等ARM嵌入式技术实验教程[M] 北京:北京航空航天学出版社 2005
19荣森 希 ARM体系嵌入式处理器发展[J]微电子学计算机2002 (5)4245
20Elmer Hannes Schweinzer Herbert High resolution ultrasonic distance measurement in air using coded signals[R] Ultrasonics 2002(2):15651570
21肖功纯超声换器频率选择[J].动化仪表2001(1):913
22孙波季远李光军等.功率超声换器导纳特性检测电端匹配研究[J].振动测试诊断.2002(4):287290
23 郏东耀利超声波传感器测液位方法[J].动化仪器仪表2002(5):5153
24肖俊牛炜莫易敏等.收发体超声测距系统设计[J].传感器技术.2003(8):3234
25 郑德春 姚庆栋 刘鹏等 嵌入式模拟器中JTAG应[J]浙江学学报2006(01)
26GRMMEL P M Improve ultrasonic detection using theanalytic signal magitade[J ] Ultrasonics 1981 19(2) 73~76
27 袁易全陈思忠代超声原理应[M].南京:南京学出版社1996
28 高克成超声物位计现状[J].声学技术2005(2):5051
29 Alfonsi G Brambilla S Chiuch D The use of an ultrasonic Doppler velocimeter in turbulent pipe flowExperiments in Fluids 2003(6):553559
30 中国机械工程学会损检测分会.超声波检测[M].北京:机械工业出版社.2000
31 杜功焕朱哲民袭秀芬.声学基础[M].海:海科学技术出版社.1981

附录系统PCB图











附录二整机实物图











附录三程序代码
() FYD12864液晶函数
int main (void)
{ uint16 i n234
PINSEL0 0x00000000 PINSEL1 0x00000000 设置脚连接GPIO
IO0DIR all
lcd_initial() DelayNS(20)
send_data(0xf80x000x20) DelayNS(20)
write_list_word(00show116) DelayNS(20)
end_data(0xf80x000x20) write_list_word(01show216) DelayNS(200)
show(321234)
while(1)
{ for(i0i<99ii++) { show(32i+10)}
}
return 0
}
(二) DS18B20函数
(1)DS18B20复位子程序
bit reset() 果DS18B20返回值0否1
{ bit ack
DA11 数线拉高
DelayNS(10)
DA10 数线拉低
DelayNS(10)
DA11 数线拉高
DelayNS(4)
ackDA1 读DS18B20应答脉
DelayNS(16)
return(ack)
}
(2)DS18B20读子程序
uchar DSRead(void) DS18B20读子程序返回值字节数
{ uchar idat
dat0
for(i0i<8i++)
{ dat>>1
DA11DelayNS(10) DA10DA11产生读信号
_nop_()_nop_()_nop_()_nop_()
if(DA1) dat|0x80 DA1读1否读0
DelayNS(4)
}
return(dat)
}
(3)DS18B20写子程序
void DSWrite(uchar val)
{ uchar i
bit vb
for(i0i<8i++)
{ vbval&0x01 送低位vb
DA11DA10 产生写信号
DelayNS(10)
DA1vb DelayNS(3)
DA11 val>>1 写位
}
}
(三) 超声波渡越时间检测函数
void test_time() 收发体超声波渡越时间检测子程序
{ start TMOD0x01 设置定时器0工作方式1
TL00x00
TH00x00 初始化定时器
EA1 中断允许
ET01 定时器0中断允许
_B0 _R0 设置盲区允许
TR01 启动定时器定时T0:工作方式1计数初值0
wave() 发送40kHz超声波
delay10us(220) 设置盲区值
_B1_R1 启动测试
Test if(int01) 检测int01 收反射波
{ TR00timeTH0*256+TL0 定时时间
}
else
{if(TF01)
{TF00goto start
}
else {goto Test}
}
}
(四) 距离显示函数
void convert(uint n)
{ uchar i
uchar a[5]
for(i4i>0i)
{ a[i]n10nn10if(i) break
}
if(rs232)
{ if(t_flag)send temperature
{ watchdog()
printf(The Temperature is )sendData(a[1]+0x30)sendData(a[2]+0x30)sendData('')
sendData(a[3]+0x30) sendData(a[4]+0x30)printf( ^C) sendData('\n')
for(i12i>0i){sendData('\t')}
}
else send temperature
{ printf(The length is )
if(a[0])sendData(a[0]+0x30)sendData(a[1]+0x30)
sendData('')sendData(a[2]+0x30)sendData(a[3]+0x30)sendData(a[4]+0x30)rintf(m) sendData('\n')
for(i12i>0i){sendData('\t')}
}
}
}
(五) 串口通信函数
void init_232()
{ TMOD0x20mode 2 auto reload
TL10xfd TH10xfdbaudRate9600 SCON0x52 sm0sm1sm2rentbrb8tiri
PCON&0x7fsmod0 TR11
}
uchar sendData(uchar c)
{ while (TI){watchdog()} TI 0return (SBUFc)
}
(六) 系统位机函数
开串口
MSCommCommPort cmbbxComNumItemIndex +1 默认值 '9600N81'
ComSettingcmbbxBaudText
ComSettingComSetting+''+cmbbxCheckBitText
ComSettingComSetting+''+cmbbxDataNumText
ComSettingComSetting+''+cmbbxStopBitText
MSCommSettingsComSetting
MSCommPortOpenTrue
变换组件状态
shpSerialBrushColorclRed 指示灯变红
Panel1EnabledFalse
btnSerialCaption '关闭串口'
chckbxHexShowEnabledFalse
end
else begin 关闭串口





附录四翻译
THE INTRODUCE OF I2CBUS PROTOCOL
1THE I2CBUS SPECIFICATION
11Here are some of the features of the I2Cbus
· Only two bus lines are required A serial data line (SDA)and a serial clock line (SCL)
· Each device connected to the bus is software addressable by a unique address and simple masterslave relationships exist at all times Masters can operate as mastertransmitters or as masterreceivers
·It’s a true multimaster bus including collision detection and arbitration to prevent data corruption if two or more masters simultaneously initiate data transfer
·Serial 8bit oriented bidirectional data transfers can be made at up to 100 kbits in the Standardmode up to 400 kbits in the Fastmode or up to 34 Mbits in the Highspeed mode
·Onchip filtering rejects spikes on the bus data line to preserve data integrity
· The number of ICs that can be connected to the same bus is limited only by a maximum bus capacitance of 400 pF
2INTRODUCTION TO THE I2CBUS SPECIFICATION
For 8bit oriented digital control applications such as those requiring microcontrollers certain design criteria can be established
· A complete system usually consists of at least one microcontroller and other peripheral devices such as memories and IO expanders
· The cost of connecting the various devices within the system must be minimized
· A system that performs a control function doesn’t require highspeed data transfer
· Overall efficiency depends on the devices chosen and the nature of the interconnecting bus structure
To produce a system to satisfy these criteria a serial bus structure is needed Although serial buses don’t have the throughput capability of parallel buses they do require less wiring and fewer IC connecting pins However a bus is not merely an interconnecting wire it embodies all the formats and procedures for communication within the system
Devices communicating with each other on a serial bus must have some form of protocol which avoids all possibilities of confusion data loss and blockage of information Fast devices must be able to communicate with slow devices The system must not be dependent on the devices connected to it otherwise modifications or improvements would be impossible A procedure has also to be devised to decide which device will be in control of the bus and when And if different devices with different clock speeds are connected to the bus the bus clock source must be defined All these criteria are involved in the specification of the I2Cbus
3 THE I2CBUS CONCEPT
The I2Cbus supports any IC fabrication process (NMOSCMOS bipolar) Two wires serial data (SDA) and serial clock (SCL) carry information between the devices connected to the bus Each device is recognized by a unique address (whether it’s a microcontroller LCD driver memory or keyboard interface) and can operate as either a transmitter or receiver depending on the function of the device Obviously an LCD driver is only a receiver
whereas a memory can both receive and transmit data In addition to transmitters and receivers devices can also be considered as masters or slaves when performing data transfers (see Table 1) A master is the device which initiates a data transfer on the bus and generates the clock signals to permit that transfer At that time any device addressed is considered a slave
The I2Cbus is a multimaster bus This means that more than one device capable of controlling the bus can be connected to it As masters are usually microcontrollerslet’s consider the case of a data transfer between two
microcontrollers connected to the I2Cbus
This highlights the masterslave and receivertransmitter relationships to be found on the I2Cbus It should be noted that these relationships are not permanent but only depend on the direction of data transfer at that time
· microcontroller A terminates the transfer
Even in this case the master (microcontroller A) generates the timing and terminates the transfer
The possibility of connecting more than one microcontroller to the I2Cbus means that more than one master could try to initiate a data transfer at the same timeTo avoid the chaos that might ensue from such an event an arbitration procedure has been developed This procedure relies on the wiredAND connection of all I2C interfaces to the I2Cbus
If two or more masters try to put information onto the busthe first to produce a one’ when the other produces a zero’ will lose the arbitration The clock signals during arbitration are a synchronized combination of the clocks generated by the masters using the wiredAND connection to the SCL line
Generation of clock signals on the I2Cbus is always the responsibility of master devices each master generates its own clock signals when transferring data on the bus Bus clock signals from a master can only be altered when they are stretched by a slowslave device holdingdown the
clock line or by another master when arbitration occurs
4 GENERAL CHARACTERISTICS
Both SDA and SCL are bidirectional lines connected to a positive supply voltage via a currentsource or pullup resistor When the bus is free both lines are HIGH The output stages of devices connected to the bus must have an opendrain or opencollector to perform the wiredAND function Data on the I2Cbus can be transferred at rates of up to 100 kbits in the Standardmode up to 400 kbits in the Fastmode or up to 34 Mbits in the Highspeed mode The number of interfaces connected to the bus is solely dependent on the bus capacitance limit of 400 pF For information on
Highspeed mode master devices see Section 13
5 BIT TRANSFER
Due to the variety of different technology devices (CMOSNMOS bipolar) that can be connected to the I2Cbusthe levels of the logical 0’ (LOW) and 1’ (HIGH) are not fixed and depend on the associated level of VDD One clock pulse is generated for each data bit transferred
6 TRANSFERRING DATA
61 Byte format
Every byte put on the SDA line must be 8bits long The number of bytes that can be transmitted per transfer is unrestricted Each byte has to be followed by an acknowledge bit Data is transferred with the most significant bit (MSB) first If a slave can’t receive or transmit another complete byte of data until it has performed some other function for example servicing an internal interrupt it can hold the clock line SCL LOW to force the master into a wait state Data transfer then continues when the slave is ready for another byte of data and releases clock line SCL
In some cases it’s permitted to use a different format from the I2Cbus format (for CBUS compatible devices for example) A message which starts with such an address can be terminated by generation of a STOP conditioneven during the transmission of a byte In this case no acknowledge is generated
7 ARBITRATION AND CLOCK GENERATION
71 Synchronization
All masters generate their own clock on the SCL line to transfer messages on the I2Cbus Data is only valid during the HIGH period of the clock A defined lock is therefore needed for the bitbybit arbitration procedure to take place
Clock synchronization is performed using the wiredAND connection of I2C interfaces to the SCL line This means that a HIGH to LOW transition on the SCL line will cause the devices concerned to start counting off their LOW period and once a device clock has gone LOW it will hold the SCL line in that state until the clock HIGH state is reached However the LOW to HIGH transition of this clock may not change the state of the SCL line if another clock is still within its LOW period The SCL line will therefore be held LOW by the device with the longest LOW period Devices with shorter LOW periods enter a HIGH waitstate during this time
When all devices concerned have counted off their LOW period the clock line will be released and go HIGH There will then be no difference between the device clocks and the state of the SCL line and all the devices will start counting their HIGH periods The first device to complete its HIGH period will again pull the SCL line LOW
In this way a synchronized SCL clock is generated with its LOW period determined by the device with the longest clock LOW period and its HIGH period determined by the one with the shortest clock HIGH period
72 Arbitration
A master may start a transfer only if the bus is free Two or more masters may generate a START condition within the minimum hold time (tHDSTA) of the START condition which results in a defined START condition to the bus
Arbitration takes place on the SDA line while the SCL line is at the HIGH level in such a way that the master which transmits a HIGH level while another master is transmitting a LOW level will switch off its DATA output stage because the level on the bus doesn’t correspond to its own level
Arbitration can continue for many bits Its first stage is comparison of the address bits (addressing information is given in Sections 10 and 14) If the masters are each trying to address the same device arbitration continues with comparison of the databits if they are mastertransmitteror acknowledgebits if they are masterreceiver Because address and data information on the I2Cbus is determined by the winning master no information is lost during the arbitration process
A master that loses the arbitration can generate clock pulses until the end of the byte in which it loses the arbitration
As an Hsmode master has a unique 8bit master code it will always finish the arbitration during the first byte
If a master also incorporates a slave function and it loses arbitration during the addressing stage it’s possible that the winning master is trying to address it The losing master must therefore switch over immediately to its slave mode
Figure 9 shows the arbitration procedure for two masters Of course more may be involved (depending on how many masters are connected to the bus) The moment there is a difference between the internal data level of the master generating DATA 1 and the actual level on the SDA line its data output is switched off which means that a HIGH output level is then connected to the bus This will not affect the data transfer initiated by the winning master
Since control of the I2Cbus is decided solely on the address or master code and data sent by competing masters there is no central master nor any order of priority on the bus
Special attention must be paid if during a serial transfer the arbitration procedure is still in progress at the moment when a repeated START condition or a STOP condition is transmitted to the I2Cbus If it’s possible for such a situation to occur the masters involved must send this repeated START condition or STOP condition at the same position in the format frame In other words arbitration isn’t allowed
· A repeated START condition and a data bit
· A STOP condition and a data bit
· A repeated START condition and a STOP condition
Slaves are not involved in the arbitration procedure
8 FORMATS WITH 7BIT ADDRESSES
After the START condition (S) a slave address is sent This address is 7 bits long followed by an eighth bit which is a data direction bit (RW) a zero’ indicates a transmission (WRITE) a one’ indicates a request for data (READ) A data transfer is always terminated by a STOP condition (P) generated by the master However if a master still wishes to communicate on the bus it can generate a repeated START condition (Sr) and address another slave without first generating a STOP condition Various combinations of readwrite formats are then possible within such a transfer
Possible data transfer formats are
· Mastertransmitter transmits to slavereceiver The transfer direction is not changed
· Master reads slave immediately after first byte At the moment of the first acknowledge the master transmitter becomes a master receiver and the
slavereceiver becomes a slavetransmitter This first acknowledge is still generated by the slave The STOP condition is generated by the master which has previously sent a notacknowledge (A)
· During a change of direction within a transfer the START condition and the slave address are both repeated but with the RW bit reversed If a master receiver sends a repeated START condition it has previously sent a notacknowledge (A)
NOTES
1 Combined formats can be used for example to control a serial memory During the first data byte the internal memory location has to be written After the START condition and slave address is repeated data can be transferred
2 All decisions on autoincrement or decrement of previously accessed memory locations etc are taken by the designer of the device
3 Each byte is followed by an acknowledgment bit as indicated by the A or A blocks in the sequence
4 I2Cbus compatible devices must reset their bus logic on receipt of a START or repeated START condition such that they all anticipate the sending of a slave address even if these START conditions are not positioned according to the proper format
5 A START condition immediately followed by a STOP condition (void message) is an illegal format
I2C 总线协议简介
1I2C总线规范
11 I2C 总线特征
• 求两条总线线路条串行数线SDA 条串行时钟线SCL
• 连接总线器件通唯址直存简单机机关系软件设定址机作机发送器机接收器
• 真正机总线果两更机时初始化数传输通突检测仲裁防止数破坏
• 串行8 位双数传输位速率标准模式达100kbits 快速模式达400kbits 高速模式达34Mbits
• 片滤波器滤总线数线毛刺波保证数完整
• 连接相总线IC器件数量受总线电容400pF 限制
2介绍I2C总线规范
面8 位数字控制应譬求微控制器建立设计标准:
• 完整系统通常少微控制器外围器件例存储器IO 扩展器组成
• 系统中器件连接成必须
• 执行控制功系统求高速数传输
• 总效益选择器件互连总线结构种类决定
产生满足标准系统需串行总线结构串行总线没行总线数吞吐力少配线IC连接脚然总线仅仅互连线包含系统通讯格式程
串行总线器件间通讯必须某种形式协议避免混乱数丢失妨碍信息性快速器件必须慢速器件通讯系统必须基连接器件否进行修改改进应设计程决定器件时控制总线果时钟速度器件连接总线必须定义总线时钟源标准I2C 总线规范中
3I2C 总线概念
I2C 总线支持IC 生产程(NMOSCMOS双极性)两线―串行数(SDA) 串行时钟(SCL)线连接总线器件间传递信息器件唯址识(微控制器LCD驱动器存储器键盘接口)作发送器接收器9器件功决定明显LCD驱动器接收器存储器接收发送数发送器接收器外器件执行数传输时作机机 机初始化总线数传输产生允许传输时钟信号器件时寻址器件认机
I2C 总线机总线说连接控制总线器件总线机通常微控制器考虑数两连接I2C 总线微控制器间传输情况
突出I2C 总线机—机接收器—发送器关系应注意:关系持久时数传输方决定
• 微控制器A 终止传输甚种情况机(微控制器A)产生定时终止传输
连接微控制器I2C 总线性意味着超机时尝试初始化传输数避免产生混乱发展出仲裁程线连接I2C 总线接口I2C 总线
果两机尝试发送信息总线机产生0 情况首先产生1 机丢失仲裁仲裁时时钟信号线连接SCL 线机产生时钟步结合
I2C 总线产生时钟信号通常机器件责:总线传输数时机产生时钟信号机发出总线时钟信号情况改变:慢速机器件控制时钟线延长时钟信号者发生仲裁时机改变
4总体特征
SDA SCL 双线路通电流源拉电阻连接正电源电压总线空闲时两条线路高电连接总线器件输出级必须漏极开路集电极开路执行线功I2C 总线数传输速率标准模式达100kbits快速模式达400kbits高速模式达34Mbits 连接总线接口数量总线电容400pF 限制决定
5位传输
连接I2C 总线器件种类工艺(CMOS NMOS双极性)逻辑0(低)1(高)电固定VDD 相关电决定传输数位产生时钟脉
6 传输数
61 字节格式
发送SDA 线字节必须8位次传输发送字节数量受限制字节必须响应位首先传输数高位(MSB)果机完成功(例部中断服务程序)接收发送完整数字节时钟线SCL 保持低电迫机进入等状态机准备接收数字节释放时钟线SCL 数传输继续
情况I2C 总线格式样格式(例兼容CBUS 器件)甚传输字节时样址起始报文通产生停止条件终止时会产生响应
7 仲裁时钟发生
71 步
机SCL 线产生时钟传输I2C 总线报文数时钟高电周期效需确定时钟进行逐位仲裁
时钟步通线连接I2C 接口SCL 线执行说:SCL 线高低切换会器件开始数低电周期旦器件时钟变低电会SCL 线保持种状态直达时钟高电果时钟处低电周期时钟低高切换会改变SCL 线状态SCL 线长低电周期器件保持低电时低电周期短器件会进入高电等状态
关器件数完低电周期时钟线释放变成高电器件时钟SCL线状态没差器件会开始数高电周期首先完成高电周期器件会次SCL线拉低
样产生步SCL 时钟低电周期低电时钟周期长器件决定高电周期高电时钟周期短器件决定
72 仲裁
机总线空闲时候启动传输两机起始条件持续时间(tHDSTA )产生起始条件结果总线产生规定起始条件
SCL 线高电时仲裁SDA 线发生样机发送低电时发送高电机断开数输出级总线电电相
仲裁持续位第阶段较址位果机尝试寻址相器件仲裁会继续较数位(果机—发送器)者较响应位(果机—接收器)I2C 总线址数信息赢仲裁机决定仲裁程中会丢失信息丢失仲裁机产生时钟脉直丢失仲裁该字节末尾Hs 模式机唯8 位机码般第字节结束仲裁
果机结合机功寻址阶段丢失仲裁赢仲裁机寻址器件丢失仲裁机必须立切换机模式
然包含更容(连接总线机数量决定)时产生DATA1 机部数电SDA 线实际电差果关断数输出意味着总线连接高输出电会影响赢仲裁机初始化数传输
I2C 总线控制址机码竞争机发送数决定没中央机总线没定制优先权
必须特注意:串行传输时重复起始条件停止条件发送I2C 总线时候仲裁程进行果产生样情况关机必须帧格式相位置发送重复起始条件停止条件说仲裁面情况间进行
• 重复起始条件数位
• 停止条件数位
• 重复起始条件停止条件机卷入仲裁程
87位址格式
起始条件(S)发送机址址7 位紧接着第8 位数方位(RW)— 0 表示发送写1 表示请求数读数传输般机产生停止位P 终止果机希总线通讯产生重复起始条件Sr寻址机首先产生停止条件种传输中读写格式结合
数传输格式
• 机发送器发送机接收器传输方会改变
• 第字节机立读机第次响应时机发送器变成机接收器机接收器变成机发送器第次响应机产生前发送响应信号(A)机产生停止条件
•传输改变方时侯起始条件机址会重复RW位取反果机接收器发送重复起始条件前应该发送响应信号(A)
注意:
1 复合格式例控制串行存储器第数字节期间写部存储器位置重复起始条件机址数传输
2动增加减少前访问存储器位置等决定器件设计者决定
3字节着响应位序列中A A 模块表示
4兼容I2C 总线器件接收起始重复起始条件时必须复位总线逻辑甚起始条件没根正确格式放置期发送机址
5起始条件面立着停止条件(报文空)合法格式

文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

基于CPLD的超声波测距仪研制

基于CPLD的超声波测距仪研制摘 要: 一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量。        本超声波测距仪采用CPLD(Complex Programmable Logic Device)器件,运用VHDL(Very High Speed Integrated Circuit Hardware Description Language)编写

R***I 9年前 上传585   0

基于51单片机超声波测距

 目录摘 要 2ABSTRACT 3目 录 41 绪论 11. 1 概述 11. 2 国内外发展现状 12 系统总体方案设计 22. 1 设计要求 21)可进行距离测量。 22) 采用数码管显示距离数据。 23) 可按键设置距离门限值 24) 具有报警功能 22. 2 方案选择 22. 2. 1 单片机的选择 23 系统硬件设计 23. 1 整体方案设计

平***苏 5个月前 上传111   0

基于TDC-GP21的激光测距毕业论文

毕业论文(设计)GRADUATION THESIS (DESIGN)论文(设计)题目Title Of Thesis(Design) 基于TDC-GP21的激光测距 分院(系别)Department 信息与电子工程学院 专业Speciality电子信息工程 班级Class电子班 论文

文***品 2年前 上传797   0

基于ARM的智能电子秤系统的设计与实现

随着现代社会的发展,对称重技术提出了更高的要求。目前,台式电子秤在商业贸易中的使用已相当普遍,但是仍存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。现有的便携秤为杆秤或弹簧压缩、拉伸变形来实现计量的弹簧秤,广大居民用户使用的是国家已经明令淘汰的杆秤。

爱***享 3年前 上传1165   0

基于arm键盘课程设计

基ARM课程设计 专 业:自动化学 号:姓 名: 在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。1 实例说明在ARM应用系统中,键盘扫描只是ARM的工作之一,ARM在忙于各项工作任务时,如何兼顾键盘的输入,则取决

文***品 2年前 上传475   0

基于ASP技术的网站的设计与开发毕业论文

基于ASP技术的网站的设计与开发毕业论文 目录 第一章 绪论 1 1.1引言 1 1.2网站的简介 1 1.3网站开发的意义 2 1.4网站的特点及实现目标 2 1.4.1网站的特点 2 1.4.2网站的实现目标 2 1.5本文的主要工作 3 第二章 相关理论与关键技术介绍 4 2.1软件工程 4 2.2 HTML简介 4 2.3 ASP技术 5 2.3.1ASP技术的优点 5 2.3.2AS

文***品 5年前 上传1941   0

毕业论文:基于ASP技术的网站的设计与开发

当今世界已经跨入了信息时代,计算机科学与技术正在迅猛发展,尤其是以计算机为核心的信息技术正在改变整个社会的生产方式、生活方式和学习方式。网站的设计与开发是当中的的一项重要工作。在设计过程中涉及大量的数据处理。随着Internet的迅速发展,基于Web 的信息服务方式得到了广泛的应用。

z***u 5年前 上传1550   0

基于java的坦克大战游戏开发毕业设计

 毕业设计说明书(论文) 作 者: 学 号: 院 系: 专 业: 计算机科学与技术 题 目: 基于java的坦克大战游戏开发 指导者: 实验师

文***品 5年前 上传1317   0

毕业设计(论文)基于PLC的停车场车位控制系统设计

基于PLC的停车场车位控制 系统设计 系 别:机电与自动化学院 专 业 班:电气工程及其自动化xx班 姓 名: 学 号:20xx113xx 指导教师: 201x年6月 基于PLC的停车场车位控制 系统设计 Design of Control System for Parking Spaces Based on PLC 随着汽车工业的迅猛发展,我国汽车拥有量急剧增加,很

l***金 5年前 上传3094   0

基于FPGA的电梯控制系统设计毕业设计论文

毕 业 设 计 [论 文]题 目: 基于FPGA的电梯控制系统设计 学 院: 电气与信息工程学院 专 业: 电 子 信 息 工 程 姓 名:

文***享 3年前 上传1281   0

基于PLC控制全自动洗衣机毕业设计论文

高等专科学校 毕业设计论文 论文题目:全自动洗衣机的控制设计系 部 自动控制系 专 业 电气自动化技术 班 级 电气自动化班 学生姓名 学 号 指导教师 2016年 X月 X日摘要本文描述了采

文***享 3年前 上传1760   0

基于单片机的鱼缸控制器设计毕业设计论文

基于单片机的鱼缸控制器设计 摘 要 本文是基于单片机的鱼缸控制器的设计,目前市场上有各种各样的观赏类的鱼缸,进入了不同的应用场合,如家庭、宾馆和商场等等,但现有的鱼缸一般需要人为的操作,比如水温的检测、水循环、鱼儿喂食和液位控制等,给人们带来了很大的不便。本论文就是基于这一现状,分析和研究目前大多数的鱼缸的控制设备和现状,提出了一种新型的基于单片机控制的自动化鱼缸控制器,该控制器是以

z***u 5年前 上传2491   0

毕业设计论文基于PLC的停车场车位控制系统设计

基于PLC的停车场车位控制系统设计系 别:机电与自动化学院专 业 班:电气工程及其自动化班姓 名: 学 号:指导教师: 2011年X月基于PLC的停车场车位控制系统设计Design of Control System for Parking Spaces Based on PLC摘 要随着汽车工业的迅猛发展

文***品 6个月前 上传299   0

基于关联规则的数据挖掘毕业设计论文

XX大学本科生毕业毕业论文题 目:基于关联规则的数据挖掘学生姓名: 学 号:专 业:数学与应用数学班 级:级班指导教师:副教授基于关联规则的数据挖掘摘 要数据挖掘利用了统计学的抽样、估计和假设检验及人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论等领域的思想。数据挖掘在这种具有固定形式的数据集上完成知识的提炼,最后以合适

文***品 2年前 上传1137   0

毕业设计论文:

本文介绍了基于AT89S52单片机的多功能电子万年历的硬件结构和软硬件设计方法。本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。温度采集选用DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602液晶显示模块,可以在LCD1602上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。

S***吴 4年前 上传1801   0

基于ARM的嵌入式温度控制系统设计

 毕业设计说明书(论文)作 者: 学 号: 系 部: 通信工程学院 专 业: 通信工程(计算机通信) 题 目:基于ARM的嵌入式温度控制系统的设计 指导者: 副教授 评阅者:

文***品 2年前 上传369   0

基于ARM的家用ECG检测设备的研究与设计

本文设计实现了一种心电信号检测系统。硬件上该系统基于医用心电监测仪简化而来,利用心电电极片以及三输入屏蔽导线,通过标准导线收集人体心电信号,随后利用多级放大滤波电路模块对心电信号进行处理。软件上对采集到的数据进行数字滤波,并实现了上位机的实时存储和显示功能。给出了详细的电路设计方案,完成了相关的数据测试,实现了心电信号的有效输出和显示。

爱***享 3年前 上传475   0

基于Android Studio的饼图账单的设计与开发Android毕业论文

毕 业 论 文 基于Android Studio的饼图账单的设计与开发Design and Development of PieChart Billing Based on Android Studio所在系院: 计算机信息工程系 专业班级: 计算机应用技术 学生学号:

文***享 4年前 上传798   0

基于51单片机的俄罗斯方块游戏毕业设计论文

基于单片机的俄罗斯方块游戏设计摘 要俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。本文讨论了一种基于增强型单片机硬件平台和实时操作系统的智能俄罗斯方块游戏的设计与实现。该设计选用的处理器型号为STC12C5A60S2的单片机,实时操作系统采用适用于8051处理器的RTX51 Tiny多任务实时操作系统。重点从软件工程角度论

文***享 3年前 上传901   0

基于Android的中国象棋毕业设计

基于Android的中国象棋毕业设计 摘 要 现在智能操作系统迅速发展,使得智能手机和其他的智能移动设备得到广泛普及,因此,智能操作系统的应用软件开发及其需要的服务将有广阔的发展前景。而Android是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限

文***享 5年前 上传1225   0

基于安卓系统的点餐系统毕业设计

 本科毕业论文(设计) 题 目: 基于安卓系统的点餐系统 专 业: 姓 名: 指导教师: 职 称: 答辩日期: 基于安卓系统的点餐系统 摘 要 现如今我们生活在一个信息化的时代,信息数据随处可见。特别是无线数据传输

z***u 5年前 上传1693   0

基于单片机智能小车毕业设计

毕 业 设 计(论 文)设计(论文)题目: 基于单片机的智能小车 学 院 名 称: 电子与信息工程学院 专 业: 电子与信息工程

文***品 6个月前 上传204   0

基于51单片机的手持式激光+测距仪设计与实现

目录第一章 绪论 21.1 课题的背景和意义 21.2 国内外现况 31.3 本课题主要研究内容 41.最小的单芯片系统的硬件设计; 42.液晶屏的硬件设计; 43.警告声光报警电路; 44.硬件功能测试程序。 41.4 开发环境介绍 41) 开发环境 42) 运行环境 5第二章 硬件介绍 62.1 STC89C52概述 6图2-1 51单片机管脚图 61 主电

平***苏 5个月前 上传131   0

毕业设计(论文)任务书

毕业设计(论文)任务书  毕业设计(论文)任务书 指导教师 课题名称 作业期限 月 日起 月 日 止 接受单位 学生姓名 学 号 所在专业 上 海 大 学 二○○年 月 日 (一) 课题来源,意义与主要内容:(注明自拟,科研,科技服务类别及任务提出单位) (二) 目的要求和主要技术指标 (三) 进度计划 (四) 主要文献,资料和参考书: (五) 审批意见: 教研室主任(副主任) 系主任(副主

p***v 9年前 上传933   0

毕业设计(论文)开题报告

  毕业设计(论文)开题报告 (由学生填写) 学生姓名   专业   班级   拟选题目 中俄双边旅游经济发展与进出口贸易互动关系的应用研究 选题依据及研究意义 (1)选题依据 最近几年,越来越多的学者对国际旅游与国际贸易感兴趣,几乎从事这两项研究的人都认为这两者互不干扰,是两个独立的系统,中国学者孙根年的观点是国际旅游与国际贸易可以相互贯通,国际贸易也可以看成是商

水***淼 8年前 上传5590   0