java怎么拦截某个对象
340
2022-11-07
在FPGA中利用IP核实现SOC系统中的串口收发接口的设计
在设计中,发送模块、接收模块和标志寄存器分别有不同的地址,Picoblaze通过地址端口对串口收发模块进行访问。设计中的标志寄存器,可用于指示发送模块和接收模块中FIFO的状态,Picoblaze通过查询标志寄存器来完成对串口数据的收发控制。 2.2串口收发接口软件设计 串口发送、接收子程序 Picoblaze通过对标志寄存器的查询,根据FIFO的状态进行操作。串口发送和接收子程序流程见图2。
根据帧格式,Picoblaze对串口数据的处理流程见图3。
控制状态机控制的地址计数器为SDRAM控制器提供地址,同时控制状态机还控制输入数据缓冲区和输出数据缓冲区,并且根据Picoblaze的地址端口数据和读/写使能信号产生SDRAM控制器的命令字。 (1)SDRAM初始化 每次加电或复位后控制状 态机执行对SDRAM控制器的初始化操作,设置SDRAM的时间参数和刷新周期等。 (2)数据写入SDRAM 输出数据缓冲区由16×8bit的FIFO构成,当Picoblaze向输出数据缓冲区写入超过8个字节后,通过“半满”信号使控制状态机进入SDRAM的长度为8的突发写模式,在写入完成后控制状态机将地址计数器增加8,以准备好下一次的写入。 (3)数据读取 数据读取时Picoblaze首先向控制状态机发送读取请求,控制状态机进入SDRAM的长度为1的突发读模式,并将读取的数据写入输入数据缓冲区,此后Picoblaze再由输入数据缓冲区中读取数据。在读取后,地址计数器做相应的增加,以实现先入先出功能。 以上的设计方法适用于需要数据连续写入后再连续读取的场合。 控制状态机状态图见图5。
3.2存储器接口软件设计 由于在SDRAM控制器与Picoblaze之间增加了控制状态机,简化了Picoblaze的程序设计。 (1)数据写入 数据写入时Picoblaze向输出数据缓冲区直接写入数据即可。 (2)数据读取 数据读取时Picoblaze首先向控制状态机发出请求,然后等待输入数据缓冲区的数据准备就续后再读取。 4结论 本文在XILINX FPGA中采用嵌入式处理器Picoblaze进行SOC设计,以较少的硬件资源实现了对串口通信数据的处理,同时采用SDRAM器件对Picoblaze的存储能力进行扩展。所采用的设计已应用于多个产品中。经过了长期的使用和测试证明文中的设计方法稳定、可靠,并且具有资源占用少,设计灵活的优点。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~