0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ARM微控制器PC2104实现曼彻斯特码转换电路的应用设计

电子设计 来源:单片机与嵌入式系统应用 作者:张红兵 2020-10-28 10:15 次阅读

1 应用背景

在局域网、红外线遥控、工业现场总线和有线视频监控等通信系统中,普遍使用曼彻斯特码作为数据编码的方式。对曼彻斯特码的解码通常采用专用的解码芯片,但是这种方法的通用性差。因为同样是曼彻斯特码。不同厂家有不同的编码规则和不同的帧同步方式,因此解码芯片不具备通用性,不能适用于一些特殊的曼彻斯特编码。如果在信号接收端采用微处理器对其解码,则具有通用性和灵活性。

Bosch和Philips公司的视频监控系统中,控制中速和高速摄像机云台动作的信号均采用曼彻斯特码编码传输。本文在开发解码器的过程中发现所记录的曼彻斯特码与参考文献[1—3]所描述的完全不同。此外在参考文献[1—3]中叙述了采用单片机对曼彻斯特码进行解码的方法,但是都没有给出曼彻斯特码转换为TTI。信号的详细电路。而且由于曼彻斯特码每1位的传输时间为32 ps,8位单片机的运行速度仅够对其解码而不能同时承担其他工作。因此按照这种设计,在云台解码器中必须采用2个单片机,一个作为协议转换器,另外一个单片机完成指令解析和控制云台及摄像机等其他动作。本文采用的则是单一芯片解决方案,使用基于ARMAdvanced RISC Ma—chines)内核的微控制器I。PC2104,利用其运行速度快和定时精度高的特点,对曼彻斯特码进行解码并控制云台和摄像机的其他动作。本文将详细叙述Bosch和Philips公司的曼彻斯特码编码规则、曼彻斯特码转换为TTL信号的2种电路方案和软件设计思想。

2曼彻斯特码编码规则

曼彻斯特码以双绞线为物理传输媒介,并采用差分信号进行传输,2根传输线分别为D+和D一。尽管曼彻斯特编码规定采用电平跳变的方式来表示0和1,但是不同的设备制造商在实际使用过程中采用了不同特点的编码方式。这体现在编码规则和传输格式上的不同。例如,一般的曼彻斯特编码规则是,由低电平到高电平的跳变代表逻辑0,由高电平到低电平的跳变代表逻辑1。但是在部分红外线通信和有线视频监控中,控制信号的传输却采用r完没有数据全相反的规则,即:由低电平到高电平的跳变代表逻辑1,由高电平到低电平的跳变代表逻辑0,传输时D+与D一之间的电位差为0。

图1所示为Bosch和Philips公司的曼彻斯特码编码规则。

基于ARM微控制器PC2104实现曼彻斯特码转换电路的应用设计

3 曼彻斯特码转换为TTL信号

差分信号必须转换为TTL信号才能被微处理器识别。在T程应用中,实测的差分信号都不是标准的矩形,而是很不规则的近似于iF弦信号的波

形。因此还需要对信号进行整形。图2是带有同差的比较器电路,它的功能是对差分信号整形。同时将差分信号转换为TTI,信号。图3所示则采用r差分信号转TTL信号的专用集成电路SN75176。转换后的TTI,信号通过引脚PO.2,即定时器0的捕获输入口CAP0.0,进入I.PC2104。

4. 帧结构

图4所示为图2或图3中记录的曼彻斯特码转换为TTI。信号后的波形。它是Bosch公司用于远程控制云台的LTC5136键盘发出的一串指令中的1帧,包含完整的帧同步、帧数据和帧结束等部分。其传输的内容足l位起始位,8位数据位(图中的数据为十六进制数87),1位奇

偶校验位和l位停止位。

每个比特的传输时间为32 ps,它在电平上分为两相,一个是高电平,一个是低电平。在32弘s的一半处。两相发牛跳变,因此每相的持续时间均为16 ps。由低电平到高电平的跳变代表逻辑1,由高电平到低电平的跳变代表逻辑0。

可以看出,每个字节都是以1帧为单位进行传输的,每帧分为帧同步、帧数据和帧结束三个部分,每个部分的结构和特点如下:

①帧同步的作用是提示接收设备做好接收后续字节的准备,同时可以作为接收设备识别帧同步的时钟信号。识别帧同步足正确接收后续字节的关键。帧同步的结构是。连续出现5个逻辑1,之后出现1个较宽的方波信号,低电平时间为48 ps,高电平时间也是48 lus,这个方波是帧同步信号的结束标志。

②数据部分包括1个起始位,8位数据位,1位奇偶校验位和1位停止位。实际采用的是奇校验。数据传输时,先传输最低有效位,后传输最高有效位。

③帧结束的标志为1个方波,其高电平和低电平的时间均为64弘s。

④帧与帧之间的间隔时间为304 ps。因此1帧的传输时间为1 040弘s,对应的波特率刚好为9 600 bps。

Philips公司的LTC8553和I.TC8800矩阵发送的曼彻斯特码与上述Bosch公司的编码有完全相同的地方,即帧同步和帧结束标志的结构都是完全一样的,每1位的传输时间是一致的,对逻辑0和1的编码规则是相同的,且都是奇校验。不同之处在于,Philips公司的编码将1条控制命令中的所有字节首尾相连地在1帧信号中发送,字节与字节之间没有分隔开来,而Bosch公司的则是每传输1个字节都有完整的帧同步和帧结束标志。

5数据采样

LPC2104有2个捕获/比较定时器,即定时器0和定时器l,每个定时器除具备对外部信号的捕获功能外还具备匹配功能。本系统中,曼彻斯特码转换为TTL信号后送入定时器0的捕获信号输入端CAP0.0。利用定时器0的捕获功能捕捉并识别】帧信号的帧同步,利用定时器的比较功能去识别一帧的数据部分。图5为程序框图。

①同步信号的识别。识别同步信号的方法是,从一开始接收到方波时就捕捉方波的低电平和高电平时间,如果都是48 ps,则表明已经检测到帧同步的标志。将LPC2104的定时器0的捕获控制寄存器TOCCR设定为上升沿捕获,即当输入端CAP0.0的电平产生从0到1的跳变时,将计数器的值保存到捕获寄存器CR0,并产生中断。当产生中断时,在中断服务程序里判断CR0的值是否在(48±5)ps范围,如果正确,则将标志变量Flag置l,否则清零。无论是否为48肛s,都必须将CR0清零并将TOCCR设定为下降沿捕获。当下降沿产生捕获时,在中断服务程序中对CR0的值,即脉冲高电平时间,进行判断,如果在(48±5)/zs范围且Flag为l,则表明帧同步的结束标志已经检测到,否则将Flag清零。

②起始位的判断。如果下降沿捕获产生的中断服务程序已经检测到帧同步的结束标志,则将定时器0设定在比较功能,将匹配寄存器0的值设定为24 Ps,当产生匹配时复位定时器并产生中断。在中断服务程序中对CAP0.0引脚进行采样。采样点刚好落在起始位的后一相信号的中间位置,即1位数据传输时间的24 ps位置处,如图6中箭头所指位置。为了提高采样数据的可靠性,在采样点附近连续采样3次,取其中2次相同的数据为最终结果。如果采样得到的电平为0,则表明数据位为0,否则为1。如果最终采样结果为1,表明起始位判断成功,后面开始数据位的采样。如果结果为0,表明该位并非起始位,因此需要重新进行同步信号的识别。

③数据位的采样。如图6所示,采样点选取在每1位后一相的中间,即24弘s处。从起始位的采样点开始,每隔32 ps对CAP0.0的电平进行连续的3次采样,取其中2次相同的数据为最终结果。按照同样的方式连续采样10个数据。采集到的第1位到第8位分别为1个字节的bit0到bit7,注意低位在前高位在后。第9位为奇偶校验位,第lo位为停止位。停止位始终为0。

④在停止位之后紧跟的是64 ps的高电平和64 ps的低电平。停止位与下一帧信号之间为空闲信号,空闲信号为高电平,持续时间为304弘s。一般而言对这部分不必做任何检测。

6 实验

LPC2104构成的曼彻斯特码解码器已经用于中速和高速球型摄像机云台中,LPC2104首先对曼彻斯特码进行解码,然后解释命令的内容,最后控制云台和摄像机的动作。该解码器运行至今非常稳定,没有发生控制指令漏失的情况。在编写程序的过程中要注意,定时器中断服务

程序的运行时间一定要非常短,不能大于32 ps,否则就会产生采集到的数据与实际数据不相符的情况。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7487

    浏览量

    151039
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9045

    浏览量

    366792
  • 视频监控
    +关注

    关注

    17

    文章

    1708

    浏览量

    64909
收藏 人收藏

    评论

    相关推荐

    32位微控制器LPC2104资料推荐

    32位微控制器LPC2104资料下载内容主要介绍了:LPC2104引脚功能LPC2104功能和特点LPC2104内部方框图
    发表于 03-30 07:26

    LPC2194CAN控制器ARM微控制器相关资料分享

    LPC2194是飞利浦公司生产的一款CAN控制器ARM微控制器。它为四面64脚封装。自带4路CAN控制器ARM
    发表于 04-22 07:37

    讨论AVR,ARM,8051和PIC微控制器之间的区别

    如今,微控制器非常便宜且易于获得,因此通常使用它们代替简单的逻辑电路(如计数微控制器是“在系统可编程”,这意味着可以调整正在执行的程序,而无需从其位置移除
    发表于 11-23 07:24

    ARM微控制器基础与实战的两个问题求解?

    1.《ARM微控制器基础与实战》上说 32 字节的向量表的累加和必须为 0 才可脱机运行, 是否需要每次修改程序后修改第六个保留向量的值(因为地址有改变).2.《ARM 微控制器基础与
    发表于 04-19 10:12

    以MC68HC11为例,介绍带AD转换器微控制器可以实现

    以MC68HC11为例,介绍带AD转换器微控制器可以实现模拟电路功能,减少数模转换的错误:
    发表于 06-23 11:58 37次下载
    以MC68HC11为例,介绍带AD<b class='flag-5'>转换器</b>的<b class='flag-5'>微控制器</b>可以<b class='flag-5'>实现</b>模

    ARM微控制器基础与实战

    ARM微控制器基础与实战
    发表于 02-11 08:40 114次下载

    ARM Cortex-M 系列微控制器(ST)

    ARM Cortex-M 系列微控制器(ST) 意法半导体(ST)宣布在基于ARM Cortex-M系列处理内核的微控制器研发项目上取得
    发表于 11-02 09:29 946次阅读

    基于ARM微控制器的动态倾角传感设计

    本内容提供了基于ARM微控制器的动态倾角传感设计,欢迎大家下载
    发表于 09-06 14:33 119次下载
    基于<b class='flag-5'>ARM</b><b class='flag-5'>微控制器</b>的动态倾角传感<b class='flag-5'>器</b>设计

    基于ARM7的GPRS无线上网研究

    提出以先进的精简指令(RISC) 的ARM7 PC2104 微控制器为核心, 通用无线分组业务(GPRS)模块MC 35i 组成无线上网系统。MC 35i 模块可实现系统方案中的数据、
    发表于 09-13 14:25 43次下载
    基于<b class='flag-5'>ARM</b>7的GPRS无线上网研究

    基于ARM微控制器的医疗机器人主从夹持控制系统设计与实现

    基于ARM微控制器的医疗机器人主从夹持控制系统设计与实现
    发表于 12-23 14:59 34次下载

    ARM_Cortex-M0+微控制器原理与应用

    ARM Cortex-M0+微控制器原理与应用,非常实用的教程。
    发表于 01-15 15:46 10次下载

    13曼彻斯特编解码的FPGA设计与实现-9

    13曼彻斯特编解码的FPGA设计与实现-9。
    发表于 04-26 15:12 12次下载

    基于PHILIPS ARM微控制器Flash的快速访问

    基于PHILIPS ARM微控制器Flash的快速访问
    发表于 10-31 09:41 4次下载

    ARM构架在32位微控制器领域的应用

    摘要: 在标准微控制器的世界中,ARM体系结构在32位嵌入式RISC领域有着极大的影响力。就像在8位世界中8051的广泛应用一样,在32位微控制器领域里ARM得到了特别的青睐,并几乎成
    发表于 12-04 11:55 910次阅读

    用FPGA器件与VHDL语言实现曼彻斯特编解码的设计

    曼彻斯特编码、解码是1553B总线接口中不可缺少的重要组成部分。曼彻斯特编解码设计的好坏
    的头像 发表于 04-24 08:24 5058次阅读