当前位置:首页 > 智能硬件 > 智能硬件
[导读]介绍带全速USB接口的单片机PICl8F4550的特点,并利用它的USB接口设计了一个光栅位移检测装置。本设计提高了光栅位移检测系统的抗干扰能力和可靠性,减小了系统的体积,降低了系统的成本。

摘要 介绍带全速USB接口的单片机PICl8F4550的特点,并利用它的USB接口设计了一个光栅位移检测装置。本设计提高了光栅位移检测系统的抗干扰能力和可靠性,减小了系统的体积,降低了系统的成本。
关键词 全速USB接口PIC18F455O光栅位移传感器 固件


引 言
    随着USB(Universal Scrial Bus)技术的发展,特别是高速(480 Mbps)USB2.0协议的出现,几乎所有的PC外设都可以移植到USB上,所以USB的PC外设的发展空间是巨大的,甚至在不久的将来,USB将完全取代异步串口和打印机并口,PC机厂商将不会再生产机箱上带异步串口和打印机并口的PC机了,机箱上也不会再有那么多的连线了。
    USB是一种快速的、双向同步传输的、廉价并可以进行热插拔的串行接口。利用USB总线技术,开发适用于科学研究和工业生产的各种仪器仪表设备,借以取代传统计算机测控系统中采用串行RS232或并行接几的仪器仪表设备,使计算机测控系统更加高效实时,方便灵活。
    利用USB总线的数据采集方案有两种,一种是采用普通单片机加上专用的USB通信芯片。该方案可充分利用开发人员原有的硬件资源和软件知识,开发成本较低,但系统的设计和调试较为麻烦,且电磁兼容性差,容易造成主机不能识别USB设备。另一种是利用具有USB接口功能的单片机。使用这些专用芯片构成的数据采集系统电路设计简单,调试方便,电磁兼容性好。然而,目前大部分具有USB功能的单片机都是专门针对个人计算机外围设备或消费市场的需要而设计的,忽略了嵌入式工程师的需要。Microchip公司新款PIC18F4550系列单片机的问世,为广泛的嵌入式应用增添了全速USB的优势,即使遇到恶劣的操作环境或在只能不定时地连接个人计算机的情况下,也能正常工作。
    本文以光栅位移传感器检测系统的设计为背景,详细介绍了带全速USB接口的单片机PICl8F4550的应用设计方法。


1 PICl8F4550介绍
    PICl8F4550是Microchip公司最新生产的带全速USB接口的8位高档单片机,芯片为40/44脚封装。该单片机除了具有PIC单片机所特有的精简指令集(RISC)、数据总线和指令总线相互独立的哈佛(Harvard)结构等特点外,还配备了自编程闪存存储器以及纳瓦节能技术,工作频率达48 MHz,数据传输速率高达12 Mbps。另外,还具有Microchip先进PMOS电可擦除单元(PEEC)闪存技术,耐擦写次数可高达100万次,而数据保存期能超过40年。因而该芯片有很强的控制能力和灵活的工作方式。
    新器件的全速USB 2.O接口具有1 KB双重存取RAM,支持高达32个端点(双向16对)和2种数据传输速率(即全速模式12 Mbps和低速模式1.5 Mbps),具有USB协议所规定的4种数据传输方式(控制传输方式、中断传输方式、批量传输方式和实时传输方式)。该接口包括一个片上收发器和一个并行流端口,能把数据直接传送到外部的设备,不仅减小了CPU的开销,而且大大增强了系统的抗干扰能力和工作可靠性。
    PICl8F4550的硬件资源菲常丰富,包含33个I/O,I/O端口为端口A、B、C、D、E;具有多个中断源和1个中断优先级选择,4个定时器,32 KB程序闪存,256字节EEP-ROM数据存储器,2 048字节数据随机存储器以及8×8硬件乘法器;集成了13通道的10位A/D转换器,2个CCP(比较/捕捉/PWM)模块.1个增强型CCP模块和1个看门狗;具有省电功能的休眠模式;1个USART不仅支持异步与同步的串行通信,而且支持LIN总线;2个模拟比较器,支持I2C和SPI通信的主控同步串行端口,可编程欠压复位及低电压检测电路等。
    PIC18F4550单片机的一个关键特性在于它配备了32 KB自编程增强型闪存。使得设计人员可以通过USB端口对最终应用进行现场升级。结合新器件配备的一系列片上外设和纳瓦技术(nanoWatt)的功耗管理功能,使其非常适用于多种嵌入式应用,包括工业、医疗、汽车、电池供电和消费类产品等。

2 PICl8F4550的设计应用
2.1 光栅位移传感器的基本工作原理、特点
   
光栅位移传感器的基本工作原理是利用一对光栅,其中一块是固定的.而男一块是运动的。当它们发生相对运动并有光通过两者时.能够获得相当于干涉仪中得到的条纹信号,即所谓的“莫尔条纹信号”。对于一对计量光栅,彼此移动一条刻槽(现代计量光栅常采用4~250 L/mm)就移动一条莫尔条纹。条纹宽度不受波长影响。并且条纹较宽可进行内插.由于误差平均效应,因而可以获得很高的精度。与普通位移传感器相比,它有以下几个特点:
    ①精度高。光栅位移传感器在大量程测量长度或直线位移方面仅仅低于激光干涉传感器;在圆分度和角位移测量方面,光栅式传感器属于精度最高的。
    ②大量程测量兼有高分辨率。感应同步器和磁栅式传感器也具有大量程测量的特点,但分辨力和精度都不如光栅位移传感器。
    ③可动态测量,易于实现测量及数据处理自动化。
    ④具有较强的抗干扰能力,对环境条件的要求不像激光干涉传感器那么严格,但不如感应同步器和磁栅式传感器的适应性强。油污和灰尘会影响它的可靠性,主要适合于在实验室和环境较好的车间使用。
2.2 PICl8F4550硬件设计
    PIC18F4550的USB接口硬件设计比较简单,而单片机控制的外围设备属于一般单片机设计,可以参照一般PIC单片机的设计方法。对于USB接口,Micrachip公司提供了一套开发套件(Demo板)帮助使用者开发自己的产品。它提供了应用程序、驱动程序和固件,帮助使用者熟悉USB的工作过程;同时,可以直接利用开发套件来扩展外围设备。
    图l是一个光栅位移传感器检测系统硬件电路框图,主要实现数据的采集、处理、传输和PWM脉冲的产生等。从光栅传感器输入的信号有5路:±sin,±cos以及零窗信号zero。经差分放大电路合成,分3路进入PIC单片机模拟量输入口进行A/D转换;同时,经差分放大电路合成后的sin、cos信号经过零比较器后转换成数字脉冲信号,然后经D触发器和“与”门电路完成光栅位移的辨向。PIC单片机T0和T1口接收来自“与”门电路的数字脉冲,完成光栅位移的计数(计算光栅尺移动的完整光栅数);PIC单片机RCl口输出4 MHz的PWM脉冲信号作为D触发器的CP信号。计算机的USB接口两根数据线分别接PICl8F4550的D+和D一口,用于完成计算机和单片机之间的数据通信。计算机的USB电源一方面为PIC微处理器提供能源,另一方面通过电源模块转换成±12V电源,为运放电路提供正负电源。

2.3 单片机软件部分设计
   
单片机的软件部分主要完成光姗位移传感器的数据采集、A/D转换、计算光栅位移传感器的正向、反向莫尔条纹的个数、为数字电路提供CP脉冲以及完成USB的通信等工作。图2是单片机软件部分的流程图。

2.4 PICl8F4550的固件设计
    微芯公司提供了一系列的USB寄存器,使用这些寄存器可以完成USB通信。大多数的USB通信都是通过中断来完成的,在USB中断服务程序内,要实现输入/输出接口,允许大多数的USB程序在后台完成。从应用的观点来看,枚举过程和数据通信的发生好像没有联系。
    对于单片机控制程序,目前没有任何厂商提供自动生成固件(firmware)的工具,因此所有程序都要由自己手工编制。由于USB协议的复杂性,并且考虑到广大客户的需求,因此,Mictochip公司在推出PIC18F4550系列芯片时,提供了面向不同客户群的DEMO程序,这就大大减轻了系统开发人员的负担,同时缩短了开发周期。本系统的设计就是在Microehip公司提供的DEMO程序的基础上,进行必要的修改来完成的。本设计的具体固件主要由以下8个文件组成。 
    ①main.c:系统的主程序,包括InitializeSystem()和USBTasks(void)两个子程序,主要完成系统的初始化以及其他各种子程序的调用。
    ②usb9.c:实现的是USB协议第9章的功能,包括枚举总线的接口和核心功能,以及USB的中断服务程序。它处理由USB用户所产生的所有的中断。在这个程序中,主要实现对描述符的枚举以及休眠、复位功能,主要包括USBCheckStdRequest(void)、USBStdGetDscHandler(void)和USBStdFeatureReqHandler(void)等5个子程序。
    ③usbctrltrf.c:主要实现USB控制传输所需的各种功能,主要由USBCtrlTrfSetupHandler(void)、USBCtr—IEPServieeCompiete(void)和USBPrepareForNextSetupTrf(void)等8个子程序组成。
    ④usbdrv.e:主要实现与USB驱动相关的功能,包括检查总线状态、USB模块使能、USB模块挂起、远程唤醒等功能;主要由USBSuspend(void)、USBModuleEnable(void)、USBSoftDetach(void)和USBDriverService(void)等12个子程序组成。
    ⑤usbdsc.c:主要是对该系统的描述,包括厂商、产品号等的描述。
    ⑥usbgen.c:对USB设备类的配置(在这里把它配置为通用USB类),主要包括USB通用类的初始化端点和读写,由USBGenlnitEP(void)、USBGenRead(byte*buffer,byte len)和USBGenWrite(byte*buffer,bytelen)三个子程序组成。
    ⑦usbmmap.c:主要用于检查USB在通信过程中,端点号与BDT(缓冲器描述符表)之间的匹配。
    ⑧user.c:直接面向用户的应用程序,可以帮助用户完成自己的初始化配置、处理数据的读/写、I/O口的处理,设备的请求等。本设计中下位机的大部分功能都是由这个程序来实现的,比如A/D转换及其数据的读取、1MHz的PWM波形产生等。它主要包括UserInit(void)、BlinkUSBStatus(void)、ServiceRequests(void)、ProcessI()(void)、ResetTempLog(void)和ReadPOT(void)六个子程序。
2.5 PC机软件编程
   
要编写PC机上的软件,可以利用Microchip公司提供的开发工具包。该工具包是一个安装程序,安装后可以在安装日录下找到USB通用的驱动程序、用Borland C编写的应用程序、一些固件代码,以及编写应用程序所需的API函数等。对于一般的应用,驱动程序可以直接使用,无需重编。在编程中主要用到以下7个API函数:MPUSBGetDLL Version(),返回DLL的版本号;MPUSB—GetDeviceCount(),返回连接设备的数目;MPUSBOpen(),返回指定pVID_PID和pEP的USB设备端点的句柄,返回的是一个端点句柄;MPUSBRead(),从IN端点读取数据并填入缓冲区;MPUSBWrite(),对一个OUT端点写入数据并使用pData缓冲区;MPusBReadInt(),从Interrupt IN端点读取数据并填入缓冲区;MPUSBClose(),关闭一个端点的句柄。因为Mierochip公司提供的MPUSBAPLDLL源程序是用Borland C编写的,这一程序无法在VC环境下编译,所以也不能产生隐式调用所需的.LIB文件,因此本设计在使用DLL时用的是显式链接。
    PC机的软件部分主要用于实现上位机同下位机之间的USB通信,光栅位移传感器位移信号的细分和显示等功能。实现这一功能的方法有很多种,比如采用简单的VB、数据处理能力很强的Delphi,或国内外广泛采用的Borland C和VC等。为了下一步的软件开发以及与厂家的其他软件接口,本系统上位机的软件部分采用VC++6.0来实现。图3是PC机软件部分的流程图。

结 语
   
选择何种芯片来设计嵌入式系统,需要根据系统的需求、设计的难易程度和性价比等几个方面来考虑。Micro-chip公司为PICl8F4550系列单片机提供通用的驱动程序、API函数、DEMO板和一系列范例程序等。其中,一些固件的端点与PC机通信的子程序可以直接调用,而不需要重写,从而大大提高了开发效率,缩短了产品的研发周期,这势必会导致该系列单片机会很快占据一部分USB接口市场。正是由于USB的诸多优点和光栅位移传感器有着很多其他位移传感器无法比拟的优点,因此,本设计的应用也将会越来越广泛。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭