SATA主机协议的FPGA实现之物理层设计   接上一篇文章,这里讲解SATA主机协议的物理层的实现过程. 下图是标准SATA协议文档中给出的物理层结构.可以看到它包含控制模块.时钟数据提取单元.同步字符源和同步字符检测模块以及模拟前端几个部分.其中,控制模块负责协调控制整个物理层的逻辑功能,并向上层协议提供控制信号.状态信息接口.时钟数据提取模块从串行数据流中提取时钟数据信息.同步字符源和同步字符检测两个模块负责串并/并串转换过程中的字节对齐.模拟前端包含高速差分数据发送接收器和OOB信号检测…
SATA主机协议的FPGA实现之准备工作   从2月中旬准备开始,经过3个月的奋战,我的又一个项目--基于FPGA的固态硬盘读写控制电路,已经基本实现.由于实用资料的匮乏,以及项目本身颇具挑战性,这个过程充满艰辛,这里也是希望写下一些经验,供后来的有心人参考,少走一些弯路.因为这个项目比较大,不是三言两语能说清楚的,可能接下来我会用5至6篇文章来讲这个东西,陆续的码文章也会耗时较久,希望先看到的看官耐心,同时由于完整的SATA协议实在是有点庞大,我的理解也不能尽善尽美,中间有不恰当之处也希望走过…
转自https://blog.csdn.net/zhipao6108/article/details/82386355 千兆以太网TCP协议的FPGA实现 Lzx 2017/4/20 写在前面,这应该是我大四最后一个工程性的作品了,以后要养成写文档记录的习惯.说明下,本工程为纯verilog实现的硬件TCP收发器,不同于其他的使用MCU构建软件协议栈的方案,如有同学学习实验需要用到,可以找我拿代码,商用的话不好意思,还请Pay. 联系方式QQ:929259243 本文将从以下几个方面进行讲述:…
<FPGA最小系统分析与电路设计> 部分节选自<FPGA应用开发入门与典型.pdf > FPGA最小系统包括:FPGA芯片.下载电路.外部时钟.复位电路和电源. 如果使用NIOS II软嵌入式处理器还要包括SDRAM和Flash. )配置管脚 MSEL[1..0]:用于选择配置模式,FPGA有多种配置模式,如主动.被动. 快速.正常.串行.并行等,以此管脚进行选择: DATA0:FPGA串行数据输入,连接置配置芯片的串行数据输出管脚: DCLK:FPGA串行时钟输出,为配置器件提供…
上一篇:基于FPGA的VGA显示设计(二) 10月10日 ~ 20日期间实习,令我万万没想到的是实习题目是 “便携式高清电视显示屏测试系统原型设计” 也就是 “基于FPGA的视频显示”. 实习要求用 HDMI 接口显示,其实和VGA显示差不多的就多了两个引脚而已(de 和 hdmi_clk_o).如下图: 虽然感觉做这个没什么意思了,但多多少少还是有一点收获的. (1)锁存一个时钟的数据用作判断 源代码片段例子1: 源代码片段例子2: 我在quartus ii 9.0上随便拉的波形: 原理: h…
上一篇:基于FPGA的VGA显示设计(一)     参照 CrazyBingo 的 基于FPGA的VGA可移植模块终极设计代码  的工程代码风格,模块化处理了上一篇的代码,并增加了一点其它图形. 顶层模块: /**************************************************** * Module Name : VGA_color_all.v * Author : yllinux 博客:http://www.cnblogs.com/yllinux/ * Targ…
一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现--垂直查询效果分享 哎,又过春节了,同志们又要抢票回家了,这票卖的可真快啊,瞬间的功夫就没有票了,一票难求啊! 这两天闲着没事,刚好又要抢春节的票了.就把原来写的抢票软件给打开试了一下,发现居然不能查票了.于是就又改了一下. 事实上是改了两下,一是:让原来的程序能够用起来(适应新接口),而是加上了水平…
PGA的硬件设计不同于DSP和ARM系统,比较灵活和自由.只要设计好专用管脚的电路,通用I/O的连接可以自己定义.因此,FPGA的电路设计中会有一些特殊的技巧可以参考. 1. FPGA管脚兼容性设计 FPGA在芯片选项时要尽量选择兼容性好的封装.那么,在硬件电路设计时,就要考虑如何兼容多种芯片的问题.例如,EP2C8Q208C8和EP2C5Q208这两个型号的FPGA.其芯片仅有十几个I/O管脚定义是不同的.在EP2C5Q208芯片上,这几个I/O是通用I/O管脚,而在EP2C8Q208C8芯片…
前言 好久没更新博客了,这篇文章写写停停,用了近一周的时间,终于写完了.本篇文章介绍,串口协议数据帧格式.串行通信的工作方式.电平标准.编码方式及Verilog实现串口发送一个字节数据和接收一个字节数据. 对于MCU串口的发送接收,可能就是1行代码就能实现串口的发送和接收: STM32的串口接收和发送 //STM32发送1个字节 USART_SendData(USART1, 'A'); while (USART_GetFlagStatus(DEBUG_USARTx, USART_FLAG_TXE…
这里主要放两个代码第一个是正常的不使用状态机的SPI主机代码:第二个是状态机SPI代码 1.不使用状态机:特权同学<深入浅出玩转FPGA>中DIY数码相框部分代码: //////////////////////////////////////////////////////////////////////////////// module spi_ctrl( clk,rst_n, spi_miso,spi_mosi,spi_clk, spi_tx_en,spi_tx_rdy,spi_rx_en…