MAX6299MTT在CPLD上的应用

[亡魂溺海] 提交于 2019-11-27 07:41:26
 
MAX6299MTT在CPLD上的应用
                                                                                                          
 
1.      MAX6299MTT的资料可以翻阅其datasheet.
2.      信号的时序逻辑设计
3.      电路的焊接,SO上最好加一上拉电阻(33K),3.3V,耦合电容(0.1u)
 
070625
第一版完成,可以得到CS,SCK信号,由于传感器还没到位,所以还不能检测SO信号,sign信号。
 
070627
鉴于传感器还没有到位,准备加入2路开关,用来尝试做下实验。
一路(暂定为红)按下,使之初始化输出数据为25度;
另一路(暂定为灰)按下,使之输出传感器的数据。
 
070628
传感器到后,遇到了一系列的问题,不过前面已经有同事用VHDL做过LM95071温度传感器的数据读写。所以在参考她的基础上,进展还算顺利。
首先是数据的乱显示,这个在把程序结构调整后,就不再出现。不过两位数码管自此始终显示“00”。
然后尝试着手动输入25度的二进制码,显示“25”没问题。
用CPLD的其他引脚得到输出,发觉始终为低,这也就是为什么始终显示“00”的原因了。应该是没有输出。然后用调试引脚放到程序的各个地方,看其显示,发现是if判断语句的问题,想当然的以为datacount会到达0,但其实只到1就停止,大概是SCK下降沿在无意中由于延时的原因被吃掉了一个。不过由于最后两位数据为不定,不需要。所以也就不影响读值了(到现在的原因解释,未必正确)。
同事总结的问题,在读取温度传感器的输出时,一定要一次读取完毕,然后再进行处理。
芯片选取信号CS,芯片时钟信号SCK的制作。
CLK: 20MHz à 50ns
SCK: 2.5MHz à 400ns 在CS为低的时候。高的时候保持高
CLKTemp: 0.15625MHz à 50ns*128 = 6.4us
CS: 78125*6.4=480.8ms 为高(保证转换时间),6.4us为低
SO:加一上拉电阻33K,3.3V电压
 
修正小数读取问题,>=0.5时,进位。
遇到的问题:
1.      在SCK信号的设计中,由于把倍频的数据弄错,导致出现没有SCK信号,由此导致了很多的warning,典型如下:
Warning (10030): Tied undriven net "SClkout" at SerialClk.vhd(34) to 0
Warning: No clock transition on "TempData[13]" register due to stuck clock or clock enable
Warning: Reduced register "TempData[13]" with stuck clock port to stuck value GND
--后面两项是牵扯到的信号
・未改掉的warning
              Warning: Found pins functioning as undefined clocks and/or memory enables
                   Info: Assuming node "CLK" is an undefined clock
              Warning: Found 1 node(s) in clock paths which may be acting as ripple and/or gated clocks -- node(s) analyzed as buffer(s) resulting in clock skew
                   Info: Detected ripple clock "SerialClk:SerialClkIN|SClkout" as buffer
Warning信号如网上所说,基本上可以不用关心,因为一般不会影响结果。
2.      wave信号仿真
              File à New à Other Files à Vector Waveform File àcreate
              导入节点或者总线
              设置:Edit à End time AND Grid size 中对模拟时序的设置。
3.      未完
 
信号表
信号名
入力/出力
説     明
CLK
入力
CPLD时钟信号20MHz;引脚pin62
SO
入力
温度传感器输出脚;引脚pin27
CS
buffer
片选信号;引脚pin19
SCK
buffer
温度传感器时钟信号;引脚pin21
Sign
出力
正负显示值;引脚pin61
LED1
出力
输出温度值10位
LED2
出力
输出温度值个位
 
 
 
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!