- 博客(16)
- 收藏
- 关注
原创 W5500问题
网口 W5500芯片1 定义网络服务器的地址和端口uint8 server_ip[4]={192,168,1,87};uint16 server_port=5000;uint16 local_port=6000;uint16 len=0;定义了服务器地址 server_ip,服务器端口 server_port,本地端口 local_port,以及缓存字节长度 len2 对DSP芯片相关功能的初始化 InitSpiaGpio();//初始化W5500的复位的GPIO gpio_conf
2021-11-06 10:51:34
3223
原创 M57Control仿真测试
M57Control用M5通道举例,M5通道负责解码,也就是接收数据,receive首先看DSP的程序,*wrctrl=0x1fc;0000 0001 1111 1100M2T_R =0M2MR =0M5RST=1M7RST=1CLEARM2FIFO=1CLEARM5FIFO=1CLEARM7FIFO=1RESET_M2=1INIT_D=0再看M5通道的输入输出再思考,他是如何工作的首先,他是解码,实现的是串转并,也就是 M5SDO~M5D[15…0]关键的三个信号如图
2021-06-30 16:29:13
146
原创 项目检查过程
1 DSP部分1.1 初始化系统,时钟问题这部分分为三个步骤:关看门狗 设置时钟 打开外设时钟1.1.1 关看门狗void DisableDog(void){ EALLOW; SysCtrlRegs.WDCR= 0x0068; EDIS;}向寄存器写入0X0068,完成操作1.1.2 设置时钟(主频)如图可以看出,芯片时钟是这样的:外部晶振输入,由PLLSTS(OSCOFF选择是否输入,再选择是OSCCLK还是从PLL输入,若是PLL输入,则受PLLSTS(PLL
2021-05-07 16:04:45
599
原创 FPGA+DSP解码过程
解码初始化*wrctrl=0x1fc;//1 1111 1100M2T_R=0,M5RST=1,M7RST=1,其他不变数据来的时候,TD=1,数据从SDO串行过来,转换16个周期后,SROUT[15…0]就是一个完整的数据在TD的下降沿,就会输出M2RXWR,输出一个脉冲,进而输入一个写信号WRREG写入后,M2FE=0, status_edib=*rdstatus; if(checkbit16(status_edib,1)==0) { temp=*rdm2fif
2021-04-27 14:40:51
533
原创 HD6408解码过程
电路图如图所示解码过程解码器工作需要在DCLOCK也就是 DCLK 提供一个12倍数据数率的时钟信号,数据解码速度,也就是数据速度=500/12等于 41.667 KHz曼切斯特编码数据可以以两种方式给解码器,从BIO,BZI输入,或者从UDI输入,此项目以 UDI 作为输入解码器会一直运行,检测他的数据输入,当检测到一个有效的同步字符和两个有效的曼切斯特数据位后,开始输出周期,也就是解码周期。此时VW输出低电平当识别到有效同步位后,由 CDS 来辨认是数据同步还是命令同步,命令同步为高电平,保持
2021-04-27 14:18:44
334
原创 FPGA+DSP编码过程
复位*rst_ft245(4003)=0x0;delay(10);*rst_ft245bm=0x01;delay(10);要让ADDR[4…0],XZCS,XWE都有效,只有一个ACTIVE周期,也就是4个DSP主频周期。也就是说RESRT_FT245BM存在4个DSP主频周期,低电平有效。对于M2CONTROL模块,如图,有编码初始化M2_T/R=0, INT_D=1,RESET=0,这是复位的时候经过初始化编码后*wrctrl=0x1f1;//1 1111 0001初始化编码
2021-04-26 21:11:40
651
原创 XINTF时钟问题
原工程器件:2812,外部晶振:10MHz外部晶振通过锁相环SysCtrlRegs.PLLCR = 0xa; //clk*10/2经过这个程序设置后,SYSCLKOU=10*5=50MHz SysCtrlRegs.HISPCP.all = 0x0000; SysCtrlRegs.LOSPCP.all = 0x0002;HIGH SPEED CLOCK=SYSCLKOU/1=50MHzLOW SPEED CLOCK=SYSCLKOU/4=12.5MHzSPI时钟是使用的低速时钟
2021-04-23 16:57:19
796
原创 HD6408编码过程
编码器需要一个两倍数据速率的时钟信号应用SCI管脚,ECLK是提供的时钟250KHz, DBS管脚是ECLK的6分频,250KHz/6=41.667KHz,输入到SCI管脚,数据数率就为SCI/2=20.833KHz当EE为高时,ESC为下降沿时,解码时钟开始;EE由FPGA提供这个周期将会持续1个字长度或者20个ESC时钟周期。在ESC下一个下降沿,SS为高电平时,产生的命令同步信号,SS为低电平时,产生该字的数据同步信号。当解码器准好接收数据时,SD将输出高电平,并持续16个时钟周期,在这16个.
2021-04-18 22:13:29
308
原创 M57仿真解读
*wrctrl=0x1fc; //0001 1111 1100首先 *rst_ft245bm=0x0;//初始化,将很多触发器复位然后先DSP向写控制寄存器写入 0001 1111 1100地址为0x4010,地址选中wrctrl,使得WRCTRL置零M5RST是第三位,M7RST是第四位,都为1.INIT_D信号最开始为高,然后拉低M5RST=1,INT_D=1,触发器复位,WRREG=0然后INT_D=0,触发器恢复工作状态最开始INT_D=1,WRREG=0,触发器复位。然后INT
2021-04-18 21:28:12
1011
1
原创 HD6409解码过程解读
解码器需要一个16倍数据频率或者32倍数据频率的单时钟IX。此项目中解码的数据速率为:CMD通道20.883Kbps,M2通道41.6666Kbps,M5/M7通道93.75Kbps93.75Kbps*32倍=3MHz提供的时钟为3MHz,管脚SS置高位,代表是32倍数据速率。解码器的内部操作利用与输入数据同步的自由运行时钟来计时。曼切斯特②型解码数据可以以两种方式给解码器,BZI,BOI管脚可以接收差分数据;UDI管脚只能接收未被转换的曼切斯特②型数据,也就是说BOO通过颠倒变成UDI,解码器不
2021-04-17 11:57:45
402
原创 关于核磁共振项目的硬件理解
关于核磁共振项目的硬件理解首先,将整个部分分为5部分。分别是EDIB接口部分,曼码编解码器部分,DSP部分,FPGA部分,网络控制器部分。EDIB接口部分1.养成习惯,首先考虑供电部分。只有5V,VCC供电共三个芯片,三个去耦电容。2.主要由变压器,信号驱动芯片,信号接收芯片,以及一个电源接口,EDIB接口cmd,m2,m5,m7构成实际PCB就会有4个贴片电容加一个电解电容。3.再来梳理信号3.1上位机到井下CMD命令信号从M2BOO,M2BZO两个差分信号口输入差分信号驱动器,经驱动后
2021-03-25 21:54:36
479
原创 EDIB程序解读
EDIB程序解读,用usb的关看门狗;初始化锁相环;开外设时钟//0x4000 读FT245BM rdusb//0x4001 写FT245BM wrusb//0x4002 读FT245BM的空信号和满信号 ft245_status//0x4003 FT245BM复位信号 rst_ft245bm//0x4010 寄存器WRCTRL wrctrl//0x4011 寄存器RDSTATUS rdstatus//0x4012 寄存器WRCMD wrcmd//0x4013 寄存器WRD
2021-03-25 21:54:12
361
原创 关于DSP2812控制W5500的程序解读
核磁项目3月22日@TOCCMD文件的解读将此引脚置为低电平,表示为微计算机模式,向量表指向Boot Rom。 ROM : origin = 0x3FF000, length = 0x000FC0 /* boot ROM available if MP/MCn=0 */程序从这儿开始。再看看存储器映像。分配程序空间PRAMH0 : origin = 0x3f8000, length = 0x003000boot ROM available if MP/MCn=0
2021-03-22 16:06:00
1794
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人