原创 PT2262编码模块的FPGA实现

2008-5-6 22:57 8999 12 12 分类: FPGA/CPLD

PT2262编码模块的FPGA实现<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


毕业设计的一个小部分,设计中用的是现成的PT2262芯片,连射频电路都搭好的那种傻瓜模块。为了说明PT2262的编码原理,就做了一个仿真实验。


 


 


无线收发部分使用的是PT2262PT2272这一对无线收发编码模块,在发射端所使用的是PT2262,它是DIP-20封装。各个管脚的功能如表1所示。



名称


管脚


说明


A0-A11


1-810-13


地址管脚


D0-D5


7-810-13


数据输入端,有一个为“1”即有编码发出


Vcc


18


电源正端(+


Vss


9


电源负端(-


TE


14


编码启动端,用于多数据编码发射,低电平有效


OSC1


16


振荡电阻输入端,与OSC2所接电阻决定振荡频率


OSC2


15


振荡电阻振荡器输出端


Dout


17


编码输出端


表<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1  PT2262引脚功能表


    PT2262搭建的无线发射模块的电路图如图1所示。P1为电源,我们可以外接9V的电池组或者其他直流电源供电,上电后,闭合S1开关,则指示灯LED就亮。 PT2262的电路联接中可以看到,作为地址管脚的A0-A7被统一接地,在接收模块PT2272中我们也是统一接地,这样就保持了相同的收发模块地址,才能实现二者的正常通信。当然了,这里的地址端口的接法是可以有38次方即6561种接法的,因为一共8个地址管脚,每个都可以有三种接法:接正、接负或者悬空。但是有一点是必须注意的,那就是需要使用的对应收发模块的地址必须保持一致。


点击看大图


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


1  发射部分原理图


    另外,四个数据输入口D0D3外接的是四个密闭容器内的漏水监测信号。当有漏水事故发生时,会相应的把数据输入端口拉高,从而驱动PT2262工作在发射模式。至于漏水监测部分的电路,是一个比较简单的开关电路,漏水时会把相应的两条导线导通从而发出正电平驱动数据输入口,这里就不作详细介绍。


    TE口接地,保持PT2262始终使能,用任意数据口的输入高电平来控制数据编码的发送。OSC1OSC2外接一个1.5M的振荡电阻,相应的振荡频率约为22KHz


PT2262的发送格式为:当任意数据端口有高电平输入时,PT2262将连续发送四次编码,假设振荡周期为T,每发送一次编码都有128T宽度的低电平分开。而32T×12的编码是由A0A11十二个码组成,A0在前A11在后。由Dout引出的电路部分即为发射编码电路,发射频率为315MHz,通过射频电路最终由天线进行编码的发射。


编码器用不同的占空比及组合表示不同的状态,PT2262有三种编码:悬空、10。其具体的发送编码方式如表2所示。



发送数据


编码


0


10001000


1


11101110


悬空


10001110


2 发送数据编码表


由表2可以看出,通过PT2262的内部编码把每1bit的原始码元对应编码成为1Byte新码元。也就是说,地址码A0A7以及数据码A0A3一共12bit的原始码元编码成12Byte的新码元发送出去。而编码后的1bit码元的周期为4T(T为震荡周期),相应的1Byte的码元周期就是32T。为了更好的理解PT2262的编码方式,本人利用VerilogHDL进行编程,通过ModelSim仿真的一个波形如图2所示(由于空间所限,这里只给出部分仿真波形)。


点击看大图



2  PT2262编码仿真波形


波形的信号从上到下依次为:clk(主时钟信号,即振荡周期)、rst_n(复位信号,低电平有效)、clock4(主时钟的4分频信号,它的一个周期对应着编码后的1bit码元的持续周期)、add(地址信号,在仿真激励中设置为00001z10z代表相应管脚悬空)、data(数据信号,在仿真激励中设置为0001)、clock(主时钟的32分频信号,它的一个时钟周期对应着一个原始数据发送的时间)、dout(编码输出)、en(输出使能信号,高电平有效,表示编码完成开始输出)。


由于数据是从数据地址码的低位开始进行编码发送的,所以第一个发送的数据是“0”,它对应的dout编码就是开始的10001000,紧随其后的11101110则代表地址码的次低位“1”,依次类推下一位传输码元“z(代表悬空)的编码为10001110,其它的码元编码过程与此类似。当12bit码元编码结束后,dout将维持128个振荡周期的低电平,然后重复发送12bit原始码元,一共要完成四次的重复发送。


 

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条