电节X子系统设计实验报文告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告格式要求 学号: 姓名: 研究方向 完成的总时间 成绩: ?可编程串行接口芯片 ? ? ? ? ? ? 一.实验题目名称:可编程串行接口芯片 二.实验目的、任务和要求: 本实验要求设计SCI串行接口芯片,其功能包括串行及并行数据的接收和互相转换。 三.实验系统结构设计分析 1.模块划分思想和方法: 该芯片需根据功能分为串并转换电路和并串转换电路两部分。实现串并转换的关键器件就是移位寄存器,其功能可以使串行输入的数据先寄存到一个位矢量中,等到一组数据全部输入完毕后再一起处理,并行输出。而实现并串转换的关键器件是锁存器,它可以将并行输入的数据先锁存起来,再一位一位的转化成串行数据。计数器在这一芯片中也起到了重要作用,因为计数器可以产生时间脉冲的分频,用于配合时间脉冲控制各器件的工作。 2.各模块引脚定义和作用. 串并电路: 输入:rxd读入数据,clk系统时钟,reset计数器复位端,rd读入控制 四进制计数器: C4四分频 十进制计数器: Count_10计数分量,C10四十分频(c4的十分频) 移位寄存器: Read读入数据,d0~d9并行输出(d0起始端,d1~d8数据端,d9校验位(本实验中不起作用)) 锁存器: K0~k7数据位 状态发生器: RdST读入状态(0为读入,1为寄存器已满) 四.实验代码设计以及分析: 1.给出模块层次图; 2.按模块完成的代码及注释. USE IEEE.STD_LOGIC_1164.ALL; ENTITY SCI IS PORT(cs,rxd,clk,SCIrd,reset,SCIwr,in7,in6,in5,in4,in3,in2,in1,in0: IN STD_LOGIC; rdFULL,tdEMPTY,c4:buffer std_logic; e7,e6,e5,e4,e3,e2,e1,e0,wxd:OUT STD_LOGIC ); END SCI; ARCHITECTURE WORK OF SCI IS SIGNAL wr,rd,read,c10,d9,d8,d7,d6,d5,d4,d3,d2,d1,d0,k7,k6,k5,k4,k3,k2,k1,k0,mid: STD_ULOGIC; SIGNAL wri : STD_LOGIC_vector(7 downto 0); SIGNAL count_10 ,counter_8:std_logic_vector(3 downto 0); BEGIN PROCESS(cs) BEGIN rd=cs OR SCIrd; wr=cs OR SCIwr; END PROCESS; //注释:片选输入,cs=1时,串入并出为“写”,并入串出为“读”;cs=0时,串入并出为“读”,并入串出为“写”; PROCESS(rxd) BEGIN read=rxd; END PROCESS; PROCESS(clk) VARIABLE count_4 : STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN IF(clkEVENT AND clk=1)THEN IF(count_4=00)THEN count_4 := 01;c4 = 1; ELSIF(count_4=01)THEN count_4 := 11;c4 = 1; ELSIF(count_4=11)THEN count_4 := 10;c4 = 0; ELSIF(count_4=10)THEN count_4 := 00;c4 = 0; END IF; END IF; END PROCESS; PROCESS(c4) BEGIN IF(c4EVENT AND c4=1)THEN IF(rd=1)THEN d0=read; d1=d0; d2=d1; d3=d2;

文档评论(0)

zzabc003 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档