《匠人手记》推荐网上购书渠道:
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
卓越亚马逊网 购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

 匠人观点: 好记性不如烂笔头  
 黑色幽默:三鹿门——后世畅想

实用一线通讯电路及软件设计方法
程序匠人 发表于 2006-2-6 22:34:00  阅读全文 | 回复(2) | 引用通告 | 编辑

实用一线通讯电路及软件设计方法

 

    :本文介绍了一种简单的一线通讯电路及软件的设计方法,这个电路构成简单、

                 成本低廉,非常适合应用在有少量数据交换的系统中。

关键字 :一线通讯;软件设计;红外遥控

 

 

        引言

        家用分体空调是由室内机和室外机组成,通常情况下分体空调的控制系统放在室内机中,但是对于一些相对复杂的系统来说,把控制放在室内机就要浪费大量的内外机连线,同时也降低了系统的安全性。基于以上原因把控制分为两部分,室内控制器和室外控制器,室内外控制器采用主从方式进行控制,室内机为主机,室外机为从机。室内外控制器通过通讯来完成控制指令的执行及信号的采集。由于是内外控制器需哟交换的数据量不大,同时为了降低系统的成本,我们并没有采用工业上常用的RS-485通讯的方法,而是简单的一线通讯电路,这个电路构成简单、成本低廉,在有效的通讯距离内工作稳定,非常适合应用在有少量数据交换的系统中。

       

        一线通讯电路原理

        1  为一线通讯电路的电路图,这个电路由两部分组成,分别为发送电路和接收电路,然后共用一根通讯线。主机和从机通过通讯线、12伏电源线和地线连接。在通讯空闲时主机和从机都处于接收状态,IND_OUTOUTD_OUT都输出高电平,Q1Q4导通,Q2Q3Q5Q6截止,IND_INOUTD_IN都输出高电平。

  

        通讯时主机先向从机发送数据,从机处于接收状态。主机发送完数据之后,置IND_OUT为高电平,处于接收状态。如果从机成功接收数据,那么在它接收数据之后开始向主机发送数据,从机发送完数据后把OUTD_OUT置为高电平,使自己处于接收状态。

        在室内机向室外机发送数据时,当IND_OUT输出高电平,Q1导通,Q2Q6截止,OUTD_IN输出高电平;当IND_OUT输出低电平,Q1截止,Q2Q6导通,OUTD_IN输出低电平;在是内机发送完数据后把IND_OUT输出高电平,置于接收状态并检测接收端IND_IN的信号。从机发送数据的过程与主机发送数据的过程相同。

        无论使主机还是从机,在自己发送数据的时候不要检测自己的接收端。免得误把自己发送的信号当作从机发送的信号,使系统运行出错。

 

        代码格式

        由于只有一根通讯线,所以数据的识别有一定的困难,如果使用电平信号的识别方法,在软件处理上就不是很方便,而且抗干扰的能力也会大为降低。为了解决这个问题,我们借鉴了红外遥控的编码方法,使用这个方法,不仅使信号识别容易,并且也增强了系统的抗干扰能力。下面将介绍编码的方法。

        采用脉宽调制的串行码,以脉宽为1.5ms、间隔1.5ms、周期为3ms的组合表示二进制的“0”;以脉宽为1.5ms、间隔4.5ms、周期为6ms的组合表示二进制的“1”,其波形如图2所示。引导码和结尾码的波形见图3。信号的周期及脉冲的宽度可根据数据的传输量来调节,为了保证通讯的实时性,在通讯数据较多的场合,可脉冲宽度及信号周期。如果传输数据较少,脉冲宽度和信号周期可适当放宽。

   

    

  

整个数据有引导码开始,接着是用户码、数据码、校验和,最后是结尾码。至于数据的格式可由用户根据实际情况确定。例如用户码用一个字节表示,数据码用一个字节表示,校验和用一个字节表示,那么通讯的波形如图4所示。

   

        软件设计方法

在这里我们以Microchip公司的PIC16C73单片机为例,针对室内侧的空调控制器,讲述如何发送和接收通讯数据的信号。我们把单片机的P1.0IND_IN,P1.1IND_OUT.

为了进一步增强单片机的看干扰能力,同时也为了简化程序的设计,我们采用定时对断口进行扫描的方法来完成通讯数据的发送和接收。

 

 

 

发送通讯信号时可以利用定时器,按照数据波形高低电平的时间进行定时,时间到了对单片机的输出断口电平进行翻转操作,便能输出符合要求的通讯数据。接收数据时可以检测信号输入断口的电平状态,当有信号输入时就启动定时器。

看《匠人手记》,与匠人同行!北航出版,正在热卖!

回复:实用一线通讯电路及软件设计方法
程序匠人(游客)发表评论于2006-2-7 10:39:00  个人主页 | 引用 | 返回 | 删除 | 回复

程序匠人(游客)lyhui1976不要生气啊,好东东大家分享

看《匠人手记》,与匠人同行!北航出版,正在热卖!

回复:实用一线通讯电路及软件设计方法
lyhui1976发表评论于2006-2-7 7:55:00  个人主页 | 引用 | 返回 | 删除 | 回复

lyhui1976匠人兄真牛,我昨天刚发了篇笔记,今天就跑到你这来了.

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    往日酷贴

     
     
     

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!