当前位置:首页 >> 最新文章

基于IIC总线的手持编程器设计和制作0油温表

2022-10-21 11:43:00  明耀五金网

基于IIC总线的手持编程器设计和制作

基于IIC总线的手持编程器设计和制作 II C总线(Inter Integrated Circuit Bus)是Philip s公司发明的一种高性能芯片问串行同步传输总线,它仅需两根信号线——串行数据线(SDA)和串行时钟线(SCL),就实现了双工同步数据传送。协议允许:总线接入多个器件,并支持多主工作。总线上的器件既可以作为主控器,也可以作为被控器;既可以是发送器,也可以是接收器。总线按照一定的通信协议进行数据交换。1 IIC总线接口的原理 当IIC总线数据交换丌始时,作为主控器的器件需要通过总线竞争获得主控权,并启动一次数据交换。系统中的每个器件的地址都是唯一的,各器件之间通过寻址确定数据接收方。IIC总线可以很方便地构成多机系统和外围器件扩展系统。外围器件hRAM、EEPROM、ADC、DAC、RTC、LED驱动器、温度传感器等等,这些器件地址是采用便件设置方法,通过软件寻址完全避免了器件的片选线寻址的弊端,从而使便件系统更简单、工作更可靠。利用IIC总线进行扩展使系统配置简单,灵活;体积小巧;低功耗。目前IIC总线已经成为业界嵌入式应用的标准解决方案,被广泛地应用在各式各样基于微控器的电子产品中,作为控制、诊断与电源管理总线。 一般具有IIC总线的器件其SDA和SCL引脚都是漏极丌路(或集电极丌路)输出结构。因此实际使用时,SDA和SCL信号线都必须要加上拉电阻(Rp,Pull.Up Resistor)。上拉电阻一般取值3~10 k.q。丌漏结构的好处是:当总线窄闲时,这两条信号线都保持高电平,几乎不消耗电流;电气兼容性好,上拉电阻接5 V电源就能与5 V逻辑器件接口,上拉电阻接3 V电源又能与3 V逻辑器件接口;因为是开漏结构,所以不同器件的SDA与SDA之间、SCL与SCL之间可以直接相连,不需要额外的转换电路。IIC总线信号连接如图l所示。

2 IIC扩展64键盘及8位LED数码管硬件设计2.1接口选择及器件选择 ZLG72908是广州周立功单片机发展有限公司自行设计的数码管品示驱动及键盘扫捕管理芯片。能够直接驱动8位共阴式数码管(或64只独立的LED),同时还可以扫捕管理多达64只按键。其中有8只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、Alt键一样。另外ZLG72908内部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用IIC总线方式,与微控制器的接口仅需两根信号线。该芯片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。 ZLG72908可广泛应用于仪器仪表,工业控制器,条形品示器,控制嘶板等领域。在实际应用中,控制嘶板和主机板往往是分离的,它们之间靠排线相连。键盘和数码管一般都位于控制面板上,主控制器则在主机板上。ZLG72908驱动数码管显示采用的是动态扫描法,为了防m品示出现闪烁,采用了比较高的扫描频率。扫描键盘同样用的也是频率较高的信号。如果ZLG72908放在主机板上,这些扫描信号要走长线,而高频信号最忌讳走长线,这容易导致品示混乱、按键失灵等故障。ZLG72908放在控制嘶板上,由于走的是短线,就不易出现上述问题了。因为IIC总线的通信速率是由主控制器控制的,可以做得低一些,所以允朗:走长线。2.2按键和LED数码管电路设计 本模块采用ZLG72908集成芯片,为了使电源更加稳定,在Vcc到GND之间接入47~470μf的电解电容El。J1是ZLG72908与微控制器的 ZLG72908可以扫捕管理多达64个按键,S 1~S56为普通按键,F0~F7为功能键。普通按键还有连击检测功能。ZLG72908内部有8个显示缓冲寄存DpRam0~DpRam7,它们直接决定数码管品示的内容。ZLG72908提供有两种显示控制方式,一种是直接显存写入字型数据,另一种是通过向命令缓冲寄存器写入控制指令实现自动译码品示。访问这些寄存器需要通过IIC总线接口来实现。ZLG72908的I2C总线器件地址是70H(写操作)和71H(读操作)。访问内部寄存器要通过“子地址’’来实现,其内部可寻地址为00H~接口,按照IIC总线协议的要求,信号线SCL和SDA上分别加上上拉电阻,其典型值是10 kΩ。显振Yl为8 MHz,品振的并联电容C3和C4为22 pf。复位信号是低电甲有效,通过外接简单的RC复位电路构成上电复位电路,也可以通过直接拉低瓜ST引脚的方法进行复位。数码管必须是共阴式的,不能直接使用共阳式的。DPYl和DPY2是4位联体式数码管,共同组成完整的8位。数码管在工作时要消耗较大的电流,Rl~R8是限流电阻。如果要增大数码管的亮度,可以适当减小电阻值,最低200Ω。键盘电阻R9~Rl6的值是3.3 kΩ。数码管扫捕线和键盘扫捕线是共用的,因此电路增加二极管Dl~D8防止按键干扰数码管显示的情况发生,便件原理图见图2所示。17H,通过IIC总线可以很容易的实现对其内部寄存器进行读写操作。电路工作时,有效的按键动作、普通键的单击连击和功能键状态变化都会令系统寄存器位置1,INT引脚信号有效,变为低电平,系统由INT引脚低电平使外部中断触发,进行读取键值寄存器的值,同时对进行清0并会令INT引脚信号恢复高电平。为确保某个有效的按键动作所有参数寄存器的同步性,在驱动程序上可以利用IIC通信的自动增址功能,连续读重复按键寄存器、功能键寄存器和键值寄存器。ZLG7290内可通过l2C总线访问地址为00H—17H任一寄存器,并都可按字节直接读写,也可以通过命令接口间接读写或按位读写。通过对寄存器的读写,可以很容易就实现对按键的判断和LED数码管数值的显示,最重要的是节省了便件资源和降低了CPU的在按键上扫捕时间。该编程器的PCB板图和实物图如图3所示。

3 IIC总线驱动程序的设计 键盘、LED和温度传感器的寄存器操作需要通过IIC总线,因此必须根据IIC总线的时序,编写总线读写时序,通过调用IIC读写子稗序实现对各寄存器的何操作。S3C2410X支持IIC总线,关键在于把IIC总线驱动起来。下面介绍一下IIC总线的基本通讯方式:在位传输时,有两个重要的传输位:START(开始位和STOP(结束位)。START位处在当SDA信号线上的状态由高到低转换且SCL信号线为高时;STOP位处在当SDA信号线上的状态由低到高转换且SCL信号线为高时。在字节传输时,传送到SDA线上的每一个字节必须为8位:每次传送的字节数不限;每一个字节后Ⅲ必须跟一个相应位。数据在传输时,首先传输最有意义位(Most Significant Bit,MSB)。如果在传输的过程中,从设备不能一次接受完一个字节,此时,它就使时钟置为低电平,迫使主设备等待;当从设备能接收下一个数据字节后,将释放SCL线,继续后面的数据传输在位传输时,开始与结束的位置如图4所示。

程序实现方式如下:子函数 通过调用这几个读写函数实现IIC总线的时序。3.1按键和LED数码管扩展模块硬件驱动测试 ZLG7290通过IIC总线进行扩展,该驱动基于IIC总线进行对器件内部寄存器的读写操作,因此必须先对IIC控制器进行初始化配置。键盘和LED钡0试程序框图如图5。键盘和LED品示初始化主稗序部分清单:4 结语 本设计的便件全由手工制作,采用双俩板工艺,为方便器件的焊接,增加了许多的过孔,采用大俩积覆铜的方式,把地线俩积增大,以减少地的耦合干扰。整个编程器通过超级终端进行链接,将宿主机mount到目标板上,动态加载驱动的目标文件,通过观察驱动稗序中的测试子稗序,实现对便件模块的功能测试。该编稗器达到设计要求。

苏州哪家医院治白癜风好

天水治疗白癜风较好专业医院

潍坊哪家治疗牛皮癣好

重庆白癜风医院排名

杭州治肿瘤好的医院

相关资讯
友情链接