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


    


    毕业设计(文)


    基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 Progra...

    9年前   
    600    0

    基于51单片机超声波测距

     目录摘 要 2ABSTRACT 3目 录 41 绪论 11. 1 概述 11. 2 国内外发展现状 12 系统总体方案设计 22. 1 设计要求 21)可进行距离测量。 22) 采用...

    6个月前   
    127    0

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

    毕业论文(设计)GRADUATION THESIS (DESIGN)论文(设计)题目Title Of Thesis(Design) 基于TDC-GP21的激光测距 分院...

    2年前   
    832    0

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

    随着现代社会的发展,对称重技术提出了更高的要求。目前,台式电子秤在商业贸易中的使用已相当普遍,但是仍存在较大的局限性:体积大、成本高、需要工频交流电源供应、携带不便、应用场所受到制约。现有的便携...

    3年前   
    1189    0

    基于arm键盘课程设计

    基ARM课程设计 专 业:自动化学 号:姓 名: 在ARM嵌入式应用中,人机交互对话最通用的方法就是通过键盘和LCD显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块...

    2年前   
    494    0

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

    基于ASP技术的网站的设计与开发毕业论文 目录 第一章 绪论 1 1.1引言 1 1.2网站的简介 1 1.3网站开发的意义 2 1.4网站的特点及实现目标 2 1.4.1网站的特点 2 1...

    5年前   
    1966    0

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

    当今世界已经跨入了信息时代,计算机科学与技术正在迅猛发展,尤其是以计算机为核心的信息技术正在改变整个社会的生产方式、生活方式和学习方式。网站的设计与开发是当中的的一项重要工作。在设计过程中涉及大...

    5年前   
    1563    0

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

     毕业设计说明书(论文) 作 者: 学 号: 院 系: 专 业...

    5年前   
    1341    0

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

    基于PLC的停车场车位控制 系统设计 系 别:机电与自动化学院 专 业 班:电气工程及其自动化xx班 姓 名: 学 号:20xx113xx 指导教师: 201x年6月 基于...

    5年前   
    3153    0

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

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

    3年前   
    1312    0

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

    高等专科学校 毕业设计论文 论文题目:全自动洗衣机的控制设计系 部 自动控制系 专 业 电气自动化技术 班 级 电气自动化班 学生姓名 ...

    4年前   
    1807    0

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

    基于单片机的鱼缸控制器设计 摘 要 本文是基于单片机的鱼缸控制器的设计,目前市场上有各种各样的观赏类的鱼缸,进入了不同的应用场合,如家庭、宾馆和商场等等,但现有的鱼缸一般需要人为的...

    5年前   
    2542    0

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

    基于PLC的停车场车位控制系统设计系 别:机电与自动化学院专 业 班:电气工程及其自动化班姓 名: 学 号:指导教师: 2011年X月基于PLC的停车场车位控制系统设计Des...

    7个月前   
    337    0

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

    XX大学本科生毕业毕业论文题 目:基于关联规则的数据挖掘学生姓名: 学 号:专 业:数学与应用数学班 级:级班指导教师:副教授基于关联规则的数据挖掘摘 要数据挖掘利用...

    2年前   
    1158    0

    毕业设计论文:

    本文介绍了基于AT89S52单片机的多功能电子万年历的硬件结构和软硬件设计方法。本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统以AT89S52单片机为控制器,以...

    4年前   
    1823    0

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

    本文设计实现了一种心电信号检测系统。硬件上该系统基于医用心电监测仪简化而来,利用心电电极片以及三输入屏蔽导线,通过标准导线收集人体心电信号,随后利用多级放大滤波电路模块对心电信号进行处理。软件上...

    3年前   
    489    0

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

     毕业设计说明书(论文)作 者: 学 号: 系 部: 通信工程学院 专 业: 通信工程(计算机通信)...

    2年前   
    386    0

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

    毕 业 论 文 基于Android Studio的饼图账单的设计与开发Design and Development of PieChart Billing Based on Android S...

    4年前   
    818    0

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

    基于单片机的俄罗斯方块游戏设计摘 要俄罗斯方块是一款风靡全球的益智游戏。它规则简单,容易上手,且游戏过程变化无穷,使用户在游戏中得到乐趣。本文讨论了一种基于增强型单片机硬件平台和实时操作...

    3年前   
    912    0

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

    基于Android的中国象棋毕业设计 摘 要 现在智能操作系统迅速发展,使得智能手机和其他的智能移动设备得到广泛普及,因此,智能操作系统的应用软件开发及其需要的服务将有广阔的发展前景...

    5年前   
    1267    0

    文档贡献者

    文***品

    贡献于2020-09-03

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档