版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、吉 林 农 业 大 学本 科 毕 业 设 计论文题目:基于ch375的单片机与pc机通信应用设计 学生姓名: 李 专业年级: 电子信息科学与技术专业2004级12043212 指导教师: 职称 讲 师 2008 年 6 月 3 日目 录摘 要i1 前 言11.1 题目的来源与开发意义11.2 系统功能概述12系统硬件设计12.1系统硬件总体设计概述12.2 系统框图22.3 方案论证22.4 系统各模块的设计32.4.1 控制模块32.4.1.1 at89lv52单片机的简介32.4.2 usb接口模块42.4.2.1 usb的简介52.4.2.2 ch375芯片简介62.4.2.393 系统
2、软件设计123.1 系统软件总体设计思想123.2 各功能模块软件程序设计124 系统调试144.1 硬件电路调试144.2 各功能模块软件调试155 结 论15参考文献15致 谢16附录17附录一 系统总体硬件原理图17附录二 系统程序流程图19基于ch375的单片机与pc机通信应用设计学 生: 专 业:电子信息科学与技术指导教师:摘 要:安装usb设备不需要用户自己设置硬件与软件的选项,而且传输速度要比计算机传统的串行口和并口快的多,所以usb设备已经广泛应用。由于协议的复杂性,加上嵌入式系统中软、硬件资源限制,在系统中实现usb主机功能的实例还不是很多。因此本文没有从复杂的usb总线协议
3、入手,而是选择了南京沁恒公司出产的usb接口芯片ch375,其具有内置固件模式和可编程的外部固件模式,我们可以跟具需要任意选择工作模式。内置固件屏蔽了相关的usb协议,自动完成标准usb枚举配置过程,简化了微控制器方面的软件编程。关键词:单片机;ch375;usb;协议the design of the communication between mcu and pc which is based on ch375name:li xian major:electronics information science and technologytutor:gong heabstract: usb
4、 device does not require users to install their own set of hardware and software options, and computer transmission speed than the traditional serial and parallel port fast, so usb devices have been widely used. because of the complexity of the agreement, coupled with embedded system software and ha
5、rdware resource constraints, in the system to achieve usb host function of many examples is not. this article does not complex starting with the usb bus agreement, but chose nanjing heng qin company produced the usb interface chip ch375, their model has a built-in firmware and firmware programmable
6、external model, we can with a need for arbitrary choose the mode of operation. firmware built-in usb shielding of the relevant agreements, auto-complete usb enumeration standard configuration process, which simplifies the microcontroller in the software programming .key words: single chip microcontr
7、oller; ch375;usb;agreement1 前 言1.1 题目的来源与开发意义usb的低功耗,可靠性,价位低等优点,在人们日常生活中应用越来越广泛,各种各样的usb产品应运而升1,并且随着技术的发展,usb的版本以发展到了3.0,传输速度也更快,更强,更稳定。而单片机以其良好的普及性,易用性,稳定的控制性不断的出现在我们生活中的各个角落,并且一发不可收拾2。电子应用中传感器数据采集占了很大一部分。我把这几项当前技术融合在一起进行开发,实现可携带的支持计算机热插拔的传感器。 1.2 系统功能概述单片机与计算机之间的通信功能实现,这里应用了由南京沁恒公司生产的ch375芯片作为单片机与
8、计算机usb接口芯片3。温度传感器采用的是大家熟知的ds18b20。本次设计主要利用at89lv52单片机作为主要核心模块,利用c51语言行控制,以c语言作为整合的开发环境,可大大缩短软件设计时间4。上位机采用的是vc+编写的界面控制显示软件,usb驱动采用了沁恒公司的通用ch375驱动软件。通过给上位机(pc)输入不同的命令可以让下位机(单片机)工作在不同的状态。如取温度值,设置温度报警值等。这里支持计算机热插拔,挟带方便,设备占用空间小,功耗低是本设计的创新之处,而且相应的ch375接口模块成了印刷式电路板,为以后学习和开发计算机与单片机通过u口传输数据的同学提供了便捷的硬件环境。2系统硬
9、件设计2.1系统硬件总体设计概述 硬件设计相应的分两个模块,一方面是控制模块由传说中的8051为核心的单片机做控制;另一方面由ch375做为usb的通信接口芯片的接口模块。控制模块中主要用到了89lv52单片机,其中的p1口与ch375的数据并口相连,所以p1口外不需要再接上拉电阻了,在控制模块上还有一个与通信接口模块相连的插座,共20个引脚其具体对应了控制模块与通信接口模块之间的vcc,gnd,相应的复位引脚,还有与ch375并口模式相对应的控制,数据引脚a0,wr,rd,cs ,int ,d0-d7。温度传感器18b20是单总线模式,所以只需将其数据线接到单片机上。led为温度报警提示。
10、通信接口模块分两个部分一个是与pc机相连的ch375部分,及电压转换部分ams1117,这里将pc的usb输出的5v电压转换成3.3v电压输送给单片机。ch375芯片的ud+和ud-引脚应该直接连接到usb 总线上。为了芯片安全我们这里选用in4148 进行过压保护。2.2 系统框图 单片机控制模块(下位机端)通信接口模块pc机(上位机端 ) 图2.1 系统总体框图fig. 2.1 overall system block diagram2.3 方案论证方案一:有关usb控制芯片很多但主要有两个来源,一个是cypress semiconductor,另一个是scanlogic。我们可以选择市面
11、比较通用的cypresss encore控制器芯片cy4c63743,此芯片电路设计起来比较容易。但此芯片需要固件支持。en指令相对简单,可以使用汇编语言编译器来实现,但固件编程相对繁琐,而且cy4c63743结和了单片机与usb数据传输的功能相对开发需要了解内部的时续与中断控制,类似于嵌入了usb功能的单片机。在开发时要投入新的仿真软件,还要学习相关的通信协议,这需要更多的时间和精力。 方案二:用南京沁恒公司的ch375芯片,需要外接微控制器,电路稍微麻烦一点,但是我的设计只需要用到usb设备模式一块,而我们可以让ch375工作在内置固件下,我们减轻了单片机方面的固件编写负担,只需按要求让单
12、片机将要发送的数据传给ch375即可,ch375自行与pc进行数据交换,这同样节省了对复杂协议的学习时间。ch375相应的可以使用usb上的5v电源,我们为了降低功耗,使用了可调电压输出的ams1117电压转换芯片,同样使用usb电源,输出给单片机3.3v电压,甚至可以更底。由此可见方案二更有效。2.4 系统各模块的设计2.4.1 控制模块 单片机模块说明p0口作为与ch375交流数据,命令的通信并口,int0作为中断服务程序中断接口其他端口如图接,也可以选择其他单片机端口。p31口与第三18b20相连模块如图2.2所示。图2.2 单片机模块图fig. 2.2 module picture o
13、f single chip microcontroller2.4.1.1 at89lv52单片机的简介本设计由于环保等多方面考虑选择了功耗更低,而功能类似89c52的 at89lv52.at89lv52是intel公司mcs-51系列单片机中最基本的产品,它采用intel公司可靠的chmos工艺技术制造的高性能8位单片机,属于标准的mcs-51的hcmos产品。它结合了hmos的高速和高密度技术及chmos的低功耗特征,它继承和扩展了mcs-48单片机的体系结构和指令系统。工作电压范围可达2.7v-6.0v,片内含4k bytes的可反复擦写的flash只读程序存储器和256bytes的内部随
14、机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,功能强大的at89lv52微处理器可为您提供许多高性价比的应用场合5。at89lv52引脚兼容80c51系列芯片,40个引脚,32个外部双向输入/输出(i/o)端口,2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,其将通用的微处理器和flash存储器结合在一起,可有效地降低开发成本。此外,at89lv52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结cpu而ram定时器、串行口和中断系统维持其功能
15、。掉电模式下,保存ram数据,时钟振荡停止,同时停止芯片内其它功能。 低功耗模式静态设计使时钟频率可以降至0mhz(停止)。当振荡器停振时,ram和sfr的值保持不变。该模式允许逐步应用并可将时钟频率降至任意值以实现系统功耗的降低。如要实现最低功耗则建议使用掉电模式。为了进一步降低功耗,通过软件可实现掉电模式。该模式中,振荡器停振并且在最后一条指令执行进入掉电模式。降到2.0v时,片内ram和sfr保持原值,在退出掉电模式之前vcc必须升至规定的最低操作电压。硬件复位或外部中断均可结束掉电模式。硬件复位使所有的sfr重新设置,但不改变片内ram的值。外部中断允许sfr和片内ram都保持原值。w
16、upd(auxr1.3从掉电唤醒)使能或禁止通过外部中断唤醒掉电。2.4.1.2 ds18b20温度传感器dallas半导体公司的数字化温度传感器ds18b20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。ds18b20的特点6使用电压3v5.5v有912位分辨率可调多个ds18b20可以并联在唯一的三线上,实现多点组网功能无需外部器件ds18b20温度传感器的内部存储器还包括一个高速暂存ram和一个非易失性的电可擦除的eeram。高速暂存ram结构为8字节的存储器。由表2.1可以看出ds18b20温度转
17、换的时间比较长,而且设定的分辨率越高,要转换的时间越厂长,在应用中要将分辨率和转换时间权衡考虑。r1r0分辨率/位分辨率最大转换时间/ms00993.750110187.510113751112750表2.1 ds18b20分辨率定义规定table 2.1 ds18b20 resolution ratio defines the regulation2.4.2 usb接口模块ch375与usb连接及自身管脚连接具体图示。如图2.3。图2.3 usb接口模块图fig 2.3 usb interface module picture2.4.2.1 usb的简介 usb是在1994年底由英特尔、康柏
18、、ibm、microsoft等多家公司联合提出的。不过直到近期,它才得到广泛地应用。从1994年11月11日发表了usb v0.7版本以后,usb版本经历了多年的发展,到现在已经发展为2.0版本,成为目前电脑中的标准扩展接口。usb是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。usb接口支持设备的即插即用和热插拔功能。 usb接口可用于连接多达127种外设,如鼠标、调制解调器和键盘等。usb自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之一。 usb2.0有高速、全速和低速三种工作速度,高速是480mbit/s,全速是12mbit/s,低速是
19、1.5mbit/s。其中全速和低速是为兼容usb1.1而设计的,因此选购usb产品时不能只听商家宣传usb2.0,还要搞清楚是高速、全速还是低速设备。usb总线是一种单向总线,主控制器在pc机上,usb设备不能主动与pc机通信。2.4.2.2 ch375芯片简介ch375 是一个usb总线的通用接口芯片,支持usb-host主机方式7。usb-device/slave设备方式。在本地端,ch375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/dsp/mcu/mpu等控制器的系统总线上。ch375 的usb 设备方式与ch372 芯片完全兼容,ch375 包含了ch3
20、72 的全部功能。ch375的usb 主机方式支持常用的usb 全速设备,外部单片机可以通过ch375 按照相应的usb 协议与usb 设备通讯。ch375 还内置了处理mass-storage 海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的usb 存储设备(包括usb 硬盘/usb 闪存盘/u 盘)。ch375硬件连接大致框图。图2.4 系统总体框图 fig. 2.4 overall system block diagram引脚图 图2.5 引脚图fig 2.5 pin picture引脚含义表2.2 表2.2 引脚含义表table 2.2 meaning f
21、orm of the pin 引脚号引脚名称类型引脚说明28vcc电源正电源输入端,需要外接0.1uf 电源退耦电容12-23gnd电源公共接地端,需要连接usb 总线的地线9v3电源在3.3v 电源电压时连接vcc 输入外部电源,在5v 电源电压时外接容量为0.01uf 退耦电容13xi输入晶体振荡的输入端,需要外接晶体及振荡电容14xo输出晶体振荡的反相输出端,需要外接晶体及振荡电容10ud+双向三态usb 总线的d+数据线,内置可控的上拉电阻11ud-双向三态usb 总线的d-数据线2215d7d0双向三态8位双向数据总线,内置上拉电阻4rd#输入读选通输入,低电平有效,内置上拉电3wr
22、#输入写选通输入,低电平有效,内置上拉电阻27cs#输入片选控制输入,低电平有效,内置上拉电阻1int#输出在复位完成后为中断请求输出,低电平有效8a0输入地址线输入,区分命令口与数据口,内置上拉电阻,当a0=1 时可以写命令,当a0=0 时可以读写数据24act#输出在内置固件的usb 设备方式下是usb 设备配置完成状态输出,低电平有效。对于ch375a 芯片,在usb 主机方式下是usb 设备连接状态输出,低电平有效5txd输出仅用于usb 主机方式,设备方式只支持并口,在复位期间为输入引脚,内置上拉电阻,如果在复位期间输入低电平那么使能并口,否则使能串口,复位完成后为串行数据输出6rx
23、d输入串行数据输入,内置上拉电阻2rsti输入外部复位输入,高电平有效,内置下拉电阻25rst输出电源上电复位和外部复位输出,高电平有效26rst#输出电源上电复位和外部复位输出,低电平有效7nc.空脚空脚,必须悬空命令命令是ch375与单片机进行联络的核心,所有的控制都要通过命令来实现所以了解了ch375的命令就如同在8051中的c51语言,所以这部分很重要。各命令意义如表2.3表2.3 命令含义表table 2.3 order the meaning form代码命令名称输入数据输出数据命令用途06hreset_all(等40ms)执行硬件复位06hcheck_exist任意数据按位取反测
24、试工作状态15hset_usb_mode模式代码(等20us)操作状态设置usb 工作模式22hget_status中断状态获取中断状态并取消请求02hset_baudrate分频系数(等1ms)操作状态设置串口通讯波特率分频常数28hrd_usb_data数据长度从当前usb 中断的端点缓冲区读取数据块数据流2bhwr_usb_data7数据长度向usb 主机端点的输出缓冲区写入数据块数据流中断原因如表2.4,2.5所示表2.4 中断状态表table 2.4 interupt form 中断状态字节名称中断状态分析说明位7位4位3位2位1位0(保留位)当前事务当前端点总是000000=out
25、 事务00=端点010=in 事务01=端点111=setup 事务10=端点211=usb 总线复位 下面是中断状态的分析说明。在内置固件模式的usb设备方式下,单片机只需要处理表中标注为灰色的中断状态,ch372 内部自动处理了其它中断状态表2.5 中断状态表table 2.5 interupt form中断状态值状态名称中断原因分析说明01husb_int_ep1_out辅助端点/端点1 接收到数据,out 成功09husb_int_ep1_in中断端点/端点1 发送完数据,in 成功02husb_int_ep2_out批量端点/端点2 接收到数据,out 成功0ahusb_int_ep
26、2_in批量端点/端点2 发送完数据,in 成功05husb_int_usb_suspendusb 总线挂起事件(如果已chk_suspend)06husb_int_wake_up从睡眠中被唤醒事件(如果已enter_sleep)功能说明ch375 芯片可以工作于usb-host 主机方式或者usb 设备方式。ch375 的usb 设备方式与ch372 芯片完全兼容, ch375的usb 主机方式支持并行接口和串行接口。在usb主机方式下,ch375支持各种常用的usb全速设备,外部单片机需要编写固件程序按照相应的usb协议与usb 设备通讯。但是对于usb 存储设备,ch375 内置了相关协
27、议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯。ch375工作在并口,设备模式下(毕业设计相应的主要应用就是这类模式,就稍详细介绍这部分,而串口模式只工作在主机模式下不详细介绍了)硬件连接ch375芯片占用两个地址位,当a0 引脚为高电平时选择命令端口,可以写入新的命令,或者读出中断标志;当a0 引脚为低电平时选择数据端口,可以读写数据。下表为并口i/o 操作的真值表(表中x 代表不关心此位,z 代表ch372 三态禁止)。表2.6 并口i/o 操作的真值表table 2.6 and i/o once operated truth tablecs#wr#rd#a0d7-d0对ch
28、372 芯片的实际操作1xxxx/z未选中ch372,不进行任何操作011xx/z虽然选中但无操作,不进行任何操作001/x1输入向ch372 的命令端口写入命令码001/x0输入向ch372 的数据端口写入数据0100输出从ch372 的数据端口读出数据0101输出从ch372b 的命令端口读取中断标志,位7 等效于int#引脚计算机端的界面程序可用visualc+编写,驱动程序可到是沁恒公司的网站下载,也可以自行开发2.4.2.3 电压转换部分介绍 电压转换部分采用了ams1117,通过配置r1(100),r2(100),r5(10),r6(62)使+vout输出了3.3v电压8。如图2.
29、7 图2.6ams1117模块图fig 2.6 ams1117 module pictureams1117芯片简介特性1.5v, 1.8v, 2.5v, 2.85v, 3.3v 和5.0v转换输出电压,及可调输出电压版(我们用的是可调版的)输出电流800masot-223和to-252封装模式描述3端点的ams1117系列可调和标准的稳压器可提供800 ma输出电流并且工作在输入对输出不同相差1 v。 在最大产量设备的退出电压被保证最大的1.3 v 电压。在片上整理调整基准电压以适应1%。 可调电压原理图,及求可调电压输出运算方法,在实际情况下我们可以实际搭配电路。(求可调电压方法vout =
30、 vref (1+ r2/r1)+iadjr2)图27 ams1117典型配置图fig 2.7 ams1117 typical allocation plan2.4.2.4 上位机功能介绍 设置4字节通信命令第1字节为传感器端点选择;第2字节为命令控制功能,如为99指设置温度报警限值,设置成功了下位机回传上位机值为99。如果是98指解除报警设置。第3,4字节在第2字节选择为99时做为报警温度的下限和上限温度值。3 系统软件设计3.1 系统软件总体设计思想 本系统软件设计分两部分,下位机部分和上位机部分。下位机部分应用的是c51语言。上位机界面图形编辑用的是vc+。由于我们设计以单片机与pc通讯
31、应用为主,所以并没有开发驱动程序而直接用从沁恒公司网站下载的usb驱动程序。 单片机负责通过ch375上传数据,pc界面的vc+程序调用usb驱动中定义的子函数,上传的数据存储在这些子函数中。这样最终的上传数据经vc+显示在pc上。3.2 各功能模块软件程序设计下位机模块软件程序设计 ds18b20传感器部分开 始ds18b20复位跳过rom命令发送温度转换命令ds18b20复位跳过rom命令读温度值送入单片机缓冲区上位机是否调用温度值?送ch375缓冲区上传数据ynch375发送数据部分开始设置ch375工作模式2,内置固件向ch375发送数据检测是否有数据发送pc机获取下位机数据,送界面显
32、示数据从ch375取走后,ch375缓冲区被锁定ch375向单片机请求中断ch375在get-status命令完成后取消中断请求yych375进行复位n有温度数据发送?测试ch375连接成功?结束ynn中断入口获取中断状态发送数据成功执行解锁命令释放当前缓冲区还有数据发送?退出中断上位机模块软件程序设计 ch375在计算机端提供了应用层接口,应用层接口是由ch372动态链接库dll 提供的面向功能应用的api,所有api 在调用后都有操作状态返回10,但不一定有应答数据。ch375动态链接库提供的api 包括:设备管理api、数据传输api、中断处理api。我这里先试用了沁恒公司的上位机测试软
33、件。4 系统调试4.1 硬件电路调试这里不仅有ch375硬件有关的调试情况,还有在设计pcb板中的规则参考,比如抗干扰的方法。我们没用到主机模式,大部分调试都是面对该电路的usb设备模式的pcb设计要求。所有平行信号线之间要尽量留有较大的间隔9,以减少串扰。如果有两条相距较近的信号线,最好在两线之间走一条接地线,这样可以起到屏蔽作用。设计信号传输线时要避免急拐弯,以防传输线特性阻抗的突变而产生反射,要尽量设计成具有一定尺寸的均匀的圆弧线。对于双面板(或六层板中走四层线)电路板两面的线要互相垂直,以防止互相感应产主串扰。注意在使用伟福仿真器进行测试时,仿真器电源要与其他电源同时上电,否则ch37
34、5将出现工作不正常。如果我们选择max810进行复位控制的话,max810应选3v多上电复位型号。 ams1117顶端起到散热作用,所以连地就可以了。因为usb 信号属于模拟信号,所在ch372、ch375、ch341等usb 芯片内部包含数字电路和一些模拟电路,另外,usb 芯片中还包含时钟振荡及pll 倍频电路,以上3 种电路的公共地端在芯片内部已经连接在一起并连接到芯片外部的gnd 引脚10。如果usb 芯片有时工作不正常、或者usb 数据传输随机性的失败、或者抗干扰能力差,那么就应该考虑usb 芯片是否稳定工作。4.2 各功能模块软件调试用实验室提供的伟福仿真器,沁恒公司的上位机测试软件和创天中文vc+软件进行调试。期间我们可以观查wave6000中的sfr中的各i/o口的变化,watch窗口各函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度网络安全风险评估与防护合同
- 《产权制度与环境问题研究》
- 《戴用压膜保持器对两种龈下致病性细菌影响的研究》
- 62密度(教学设计)八年级物理上册(人教版)
- 《环氧树脂-粘土纳米复合材料结构与性能研究》
- 《两种手术及消化道重建方式治疗近端胃癌对比研究》
- 《污泥-煤矸石陶粒的制备及其对模拟污水处理厂尾水氮磷吸附效果研究》
- 1《大青树下的小学》学生版
- 2024年南昌A1客运从业资格证
- 2024年潮州客运资格证情景题
- 高中作文素材摘抄(优美段落)
- 教师人生职业规划
- 文化哲学十五讲
- 《保障农民工工资支付条例》宣传册
- 初中语文部编版八年级上册期末文学文化常识专项练习(2022秋)(附参考答案)
- 如何进行品牌传达和品牌推广以塑造企业形象
- 外科住院超30天整改质量持续改进报告(含鱼骨图)
- 2024年中煤电力有限公司招聘笔试参考题库含答案解析
- 大气道狭窄的护理查房
- 螺纹量规计算公式
- 蜘蛛人施工应急预案
评论
0/150
提交评论