基于FPGA实现的SCI接口电路IP核的设计
时间:2023-09-29 10:33来源: 作者: 点击: 次随着超大规模集成电路(Very Large Scale Integration )工艺技术的发展,芯片的规模越来越大,集成规模以摩尔定律增长。现场可编程逻辑器件()由于兼具可编程逻辑器件的现场可编程的灵活性,以及门阵列器件集成度高的优点,在数字系统设计被广泛采用。同时,ASIC技术的不断完善以及功能强大的EDA软件开发平台的出现,使得器件在现代数字系统设计和微电子技术应用中起着越来越重要的作用。近几年来,Xilinx等公司推出了内部嵌入存储器、微处理器的器件,使得这种器件的应用更显其优越性;但在某些应用场合如数据采集时,需要将采集到的数据传送给PC机,然后由PC机进行数据处理,这时就要借助单片机来完成。因此,有必要在FPGA器件中设计一种通信接口电路,以使设计的应用系统具备通信功能。由于SCI通信接口电路具有结构相对简单、易于实现等特点,因此本文以为例介绍基于FPGA器件实现的接口电路的设计。
结构
SCI接口端口映射
SCI的端口映射如图1所示,共有20个端口,各端口的功能为:
图1 SC I接口端口映射
SCI接口结构框图
为SCI接口内部结构框图如图2所示,主要包括以下单元:
图2 SCI接口结构框图
发送器(TX)及其控制与状态寄存器。发送数据缓冲寄存器(TXBUF0…7)包含SCI接口要发送的数据;发送移位寄存器(TXSHF);发送状态寄存器位(TXRDY、TXEMPT);发送控制寄存器位(TINTENA、TXENA)。
接收器(RX)及其控制与状态寄存器。接收数据缓冲寄存器(RXBUF0…7)包含SCI接口从SCIRXD接收到的数据;接收移位寄存器(RXSHF);接收状态寄存器位(RXRDY);接收控制寄存器位(RINTENA、RXENA)。
可编程波特率发生器。由波特率高byte寄存器和波特率低byte寄存器组成,可得到64k种不同的位传输速率。当系统时钟为10MHZ时,其位传输速率为19.07~625.0kb/s。寄存器地址译码器。寄存器地址译码器负责对ADDR0…ADDR2进行译码,确保能读/写SCI中相应的寄存器。其与RD和WR配合完成对SCI内部各寄存器的读/写操作。