技术课程设计基于SOPC技术实现数字闹钟
- 格式:docx
- 大小:290.30 KB
- 文档页数:15
题目基于单片机的数字时钟加闹钟的设计与制作1绪论 (2)1.1引言 (2)1.2研究目的 (2)1.3系统基本方案选择和论证 (2)1.3.1单片机芯片的选择方案和论证: (2)1.3.2显示模块选择方案和论证: (2)1.3.3时钟芯片的选择方案和论证: (2)1.3.4电路设计最终方案确定 (3)1.4硬件系统框图 (3)2 主要元件介绍 (4)2.1STC89C52以及最小系统介绍 (4)2.1.1 ST89C52单片机: (4)2.1.2 计时芯片DS1302: (5)2.1.3字符液晶显示屏LCD1602资料: (6)2.1.4 电源模块: (8)3. 硬件电路连接图: (8)3.1单片机的连接图 (8)3.2DS1302计时模块 (9)3.3LCD1602液晶显示模块 (9)3.4按键模块 (9)4. 系统的软件设计: (10)4.1软件设计流程图: (10)5. 系统的调试: (11)6. 总结: (12)参考文献 (13)附录一: (14)附录二: (15)附录三: (30)嵌入式综合课程设计III(基于单片机的数字时钟加闹钟的设计与制作)任务提出:随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。
时间就是金钱、时间就是生命、时间就是胜利……,准确的掌握时间和分配时间对人们来说至关重要,时钟是我们生活中必不可少的工具。
电子钟的设计方法有很多种,但是基于单片机并通过LCD显示的电子时钟具有编程灵活、精确度高、便于携带、显示直观等特点。
利用STC89C52单片机对DS1302时钟芯片进行读写操作并通过LCD1602字符液晶显示实时时钟信息,这样便构成了一个单片机电子时钟。
设计要求:利用单片机作为核心控制器件,制作一个数字时钟。
要求其具有如下功能:①具有年、月、日、星期、时、分、秒显示功能;②具备年、月、日、星期、时、分、秒校准功能;③具有闹钟显示、调节设定、鸣叫功能;④计时器模块能够准确计时;⑤显示模块能够清晰、稳定显示,不出现乱码;⑥输入模块能够正确输入指令;⑦控制模块能够正确控制输入、输出显示;⑧整个系统能够正常、稳定工作。
《电子技术》课程设计报告《数字钟的设计》专业:班级:姓名:学号:指导教师:完成日期:年月日第页共页设计任务书一、设计题目:“数字钟的设计”二、技术要求:1.设计一台能直接显示“时”、“分”、“秒”的数字钟,要求24小时为一计时周期。
2.当电路发生走时误差时,要求电路具有校时功能。
三、。
基本工作原理:数字钟是一个将“时”、“分”、“秒”显示的计时装置。
它的计时周期为24小时,显示满时刻为23时59分59秒,另外应有校时功能。
整个电路采用异步清零的方法来进行计数及清零,使得秒显示及分钟显示以60为一周期,时显示以24为一周期。
校时电路由RS触发器构成,选择1HZ脉冲进行校时。
四、元件清单;1、74160 6片2、74LS003、74LS084、74LS045、74LS326、555定时器7、电阻10kΩ8、电容0.01μF 47μF9、电源,双掷开关及导线若干五、各部分组成及结构:1、振荡电路1HZ脉冲输出2、分钟计时器分进位信号秒进位/校时信号采用异步清零,分钟的十位变成6时,被立即清零。
3、时计时器分进位/校时信号采用异步清零,当时计数器计数到24时被清零,而24这个状态不显示。
4、校时电路分进位/校时信号秒进位/校时信号1HZ脉冲秒进位信号分进位信号1HZ脉冲时校时电路分钟校时电路如图所示状态时,校时电路不工作。
当分钟校准时,开关2被掷到另一端;时校准时,开关3被掷到另一端。
当数字钟仅仅只有分钟走误时,分钟的校准不会向时显示进位。
在这个过程中,利用一个或门将分钟可能产生的进位信号屏蔽掉,以达到仅仅分钟校准的目的。
六、实验内容:画出整机电路图连接电路并进行调试。
七、体会:实际设计、调试和理论有很大的差异,简简单单的理论应用到实践的过程中会遇到各种各样的困难。
例如,刚设计的时候没有进位信号,十位的变化比各位慢一个或半个脉冲等等。
通过看书上的知识,慢慢完善电路,以达到准确计时的目的。
另外,电路连线多,连线时应细心、耐心。
基于SOPC技术实现数字闹钟【摘要】在现代社会,数字闹钟方便了人们的生活和工作。
数码管显示的时间简单明了而且读数快、时间准确显示到秒。
该数字闹钟主要采用sopc技术,设计由系统对外部机械按键模块进行扫描获取部分指令,对外部时钟分频后进行小时24分频计时模块、分钟60分频计时模块、秒钟60分频计时模块,并进一步建立年月日计时判断模块。
采用LED数码管显示时、分、秒,以24小时计时方式,蜂鸣器则作为闹钟声音提示用。
该数字闹钟优点是小巧,价格低廉,走时精度高,整点报时和定时非常方便。
关键字:SOPC技术数码管显示整点提示闹钟一、课题简介SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件Quartus II。
SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案有多种途径,我们主要用到的是:基于FPGA嵌入IP硬核的SOPC系统1.基于FPGA嵌入IP硬核的SOPC系统即在FPGA中预先植入嵌入式系统处理器。
目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。
尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统。
如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。
这样会增加整个系统的体积、功耗,而降低系统的可靠性。
但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。
2.基于FPGA嵌入IP软核的SOPC系统这种SOPC系统是指在FPGA中植入软核处理器,如:NIOS II核等。
数字闹钟的设计数字闹钟的设计与制作一、设计任务与要求设计并制作一个带有可定时起闹的数字钟1.有“时”、“分”十进制显示,“秒”使用发光二极管闪烁表示2.以24小时为一个计时周期3.走时过程中能按预设的定时时间(精确到小时)启动闹钟,以发光二极管闪烁表示,启闹时间为3s~10s二、实验仪器及主要器件5V电源1台面包板1块74LS163 6片74LS00 5片74LS138 2片CD4511 4片LM555 1片74LS123 1片LED共阴极显示器4片电阻若干电容3个导线15米三、设计原理方案系统构成1、标准时间源l )标准时间源即秒信号发生器2 )可采用LM555构成多谐振荡器,调整电阻可改变频率,使之产生1Hz的脉冲信号(即T=1S)LM555管脚排列及电路T=0.7(RA+2RB)CT=1S,C=220uF计算得RA+2RB≈6.5K取RA=1.5K,RB=2.4K2.计时部分:时计数单元一般为24进制计数器,其输出为两位8421BCD码形式;分计数和秒计数单元为60进制计数器,其输出也为8421BCD码。
模60计数器采用异步方式如秒计数器:分成个位和十位,个位模十,十位模六。
个位从0000计数到1001,利用置数端将个位从0000重新开始计数,同时将1001信号作为一个CP脉冲信号传给十位,让十位开始从0000开始计数。
以此规律开始计数,直到十位计数到5,个位计数到9时,通过十位的置数端将十位清零,重新开始计数,并将此信号作为一个CP脉冲信号传给分计数器。
模24计数器电路模24计数器采用同步方式,使用两片74LS163芯片,cp脉冲均由分计数器提供.第一片制成模10计数器,将1001信号提取出来后给与清零端。
第二片芯片制成模为3的计数器,原数据ABCD给予0000信号.将第一片芯片的0011信号与第二片芯片的0010信号提取出来给与第一片芯片的置数端与第二片芯片的清零端,上升沿过来之后,两片芯片同时清零3、定时起闹部分l )正点起闹,不要求分2 )使用2片74LS138,分别选出小时的十位和个位3 )小时十位为0~2,3-8译码器只使用前2个输入端,小时个位为0~9,3-8译码器只有3个输入端,会丢失几个时间点:8点、9点、18点、19点。
基于sopc嵌入式系统-多功能数字钟绪论近年来,随着半导体技术的飞速发展,现代高密度现场可编程逻辑器件FPGA(Field Programmable Gate Array)的设计性能及性价比已完全能够与ASIC(Application Specific Integrated Circuit)抗衡。
在这样的背景下,一种被称为SOPC(System on a Programmable Chin)的新技术出现了。
SOPC技术可以使设计人员充分利用FPCA的逻辑单元以及植入FPGA内部的存储模块和DSP模块,并使用FPGA制造厂商提供的软核处理器设计出可灵活裁剪、扩充、可升级的嵌入式处理系统。
在过去的几年中,几种RISE(Reduced Instruction Set Computing 精简指令集)软核处理器相继面世。
使用SOPC开发产品或进行产品的原型设计,可有效减低产品上市风险、降低开发成本、缩短产品上市周期。
由于可编程逻辑器件已经得到广泛的应用,并且PLD和FPGA的系统门数已经发展到百万级,为了简化设计,降低成本和缩短产品周期,可编程逻辑器件供应商以其芯片灵活性和功能完备性的技术优势,掀起了一场设计可编程片上系统的潮流SOPC技术,其实质就是将PLD中容入更多模块,特别是高端的微处理器和数字信号处理器。
钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原先的报时功能。
诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动的自动启动等,所有这些,都是以钟表数字化为基础。
因为,研究数字钟及扩大其应用,有着非常现实意义。
本次数字钟设计主要采用SOPC技术,设计有系统对外部机械按键模块进行扫描获取部分指令,对外部时钟分频后进行小时24分频计时模块、分钟60分频计时模块、秒钟60分频计时模块,并进一步建立年月日计时判断模块。
采用LED数码显示时、分、秒,以24小时计时方式,蜂鸣器则作为闹钟声音提示用。
多功能数字时钟课程设计一、课程目标知识目标:1. 学生能理解数字时钟的基本构成,掌握时、分、秒的概念及其相互关系。
2. 学生能运用所学知识,分析多功能数字时钟的显示原理和编程逻辑。
3. 学生掌握基本的数字逻辑运算,并能将其应用于时钟设计中。
技能目标:1. 学生能通过实际操作,学会使用编程软件进行数字时钟的设计与编程。
2. 学生能够运用问题解决策略,调试并优化数字时钟程序,提高程序运行效率。
3. 学生能够运用所学知识,创作具有个性化功能的数字时钟,培养创新意识和实践能力。
情感态度价值观目标:1. 学生在学习过程中,培养对信息技术学科的兴趣,激发学习热情。
2. 学生通过团队协作,培养沟通、交流和合作的能力,增强团队意识。
3. 学生通过解决实际问题,体会科技改变生活的魅力,增强社会责任感和使命感。
课程性质:本课程为信息技术学科,结合学生年级特点,注重理论与实践相结合,培养学生的动手操作能力和创新思维。
学生特点:学生具备一定的信息技术基础,好奇心强,喜欢动手操作,但逻辑思维和问题解决能力有待提高。
教学要求:教师应关注学生的个体差异,提供有针对性的指导,引导学生通过自主学习、合作探究和实践活动,达到课程目标,提高学生的信息技术素养。
二、教学内容1. 数字时钟基础知识:时钟的演变、数字时钟的构成、时、分、秒的概念及其进制关系。
教材章节:第一章 认识数字时钟2. 数字时钟显示原理:LED显示技术、点阵显示原理、数字时钟显示编程。
教材章节:第二章 数字时钟显示技术3. 数字时钟编程基础:基本逻辑运算、程序流程控制、函数的运用。
教材章节:第三章 数字时钟编程基础4. 多功能数字时钟设计与实现:设计思路、编程实践、调试与优化。
教材章节:第四章 多功能数字时钟设计与实现5. 创新实践:个性化数字时钟设计、功能拓展、作品展示。
教材章节:第五章 创新实践与作品展示教学进度安排:1. 数字时钟基础知识(1课时)2. 数字时钟显示原理(2课时)3. 数字时钟编程基础(3课时)4. 多功能数字时钟设计与实现(4课时)5. 创新实践(2课时)教学内容科学系统,注重理论与实践相结合,引导学生通过自主学习、合作探究和实践操作,掌握数字时钟的设计与编程,培养学生的创新能力和信息技术素养。
电子数字闹钟课程设计一、教学目标本课程旨在通过学习电子数字闹钟的相关知识,让学生掌握电子数字闹钟的工作原理、制作过程以及使用方法。
具体目标如下:1.知识目标:–了解电子数字闹钟的基本组成部分及其功能;–掌握电子数字闹钟的工作原理;–熟悉电子数字闹钟的制作过程;–了解电子数字闹钟在日常生活中的应用。
2.技能目标:–能够独立完成电子数字闹钟的制作;–能够对电子数字闹钟进行简单的故障排除;–能够根据需要调整电子数字闹钟的设置。
3.情感态度价值观目标:–培养学生对科学实验的兴趣和热情;–培养学生动手操作的能力,提高学生的实践能力;–培养学生团队协作的意识,提高学生的团队协作能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.电子数字闹钟的基本组成部分及其功能;2.电子数字闹钟的工作原理;3.电子数字闹钟的制作过程;4.电子数字闹钟在日常生活中的应用。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:通过讲解电子数字闹钟的基本原理、制作过程等,使学生掌握相关知识;2.实验法:让学生亲自动手制作电子数字闹钟,提高学生的实践能力;3.讨论法:分组讨论电子数字闹钟的制作过程中遇到的问题,培养学生的团队协作能力和解决问题的能力。
四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:电子数字闹钟教材,用于引导学生学习;2.参考书:提供电子数字闹钟相关知识的拓展阅读;3.多媒体资料:制作电子数字闹钟的教程视频,方便学生反复观看学习;4.实验设备:提供电子数字闹钟制作所需的实验材料和设备。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和积极性;2.作业:布置与课程相关的基础作业和实践作业,评估学生对知识的理解和应用能力;3.考试成绩:通过期末考试,评估学生对课程知识的掌握程度。
数字钟课程设计报告前言:随着科技的不断进步,数字化已经成为了各个领域的主流趋势。
数字技术也在教育领域得到广泛应用。
数字化教育为学生提供了更好的学习方式和体验,同时也给教育工作者带来了更多的创新空间。
本文将围绕数字化教育,探讨数字钟课程设计报告。
数字钟的设计:数字钟是一个数字化的学习工具,在各学科的教学中都得到了广泛应用。
数字钟的设计可以遵循以下步骤:1.确定教学目标:数字钟的设计必须遵循教学目标,以便为教师和学生提供最佳的学习体验,使教学更加生动有趣。
2.选择数字钟的类型:根据教学目标和特点,可以选择不同类型的数字钟,例如计时器、倒计时器、时间轴等。
3.选择数字钟的功能:数字钟的功能会影响到教学效果,因此需要根据教学目标和教学特性选择数字钟的功能。
4.美化数字钟的界面:美化数字钟的界面能够增加学生的学习兴趣,提高教学效果,从而实现教学目标。
数字钟的应用:数字钟是一种数字化教学工具,可以在各个学科的教学中得到广泛应用。
下面以数学为例,详细说明数字钟在数学教学中的应用。
数字钟可以用于教学观念的讲解。
在数学教学中,学习时间的观念非常重要。
使用数字钟可以帮助学生了解时间的本质,为学生认识到时间的重要性打下基础。
数字钟也可以用于学习数学运算。
例如,教师可以设置数字钟来进行加减乘除的计算,帮助学生提高计算速度和精确度。
数字钟还可以用于检查作业。
教师可以在数字钟上设置一个时间限制,让学生在规定时间内完成作业。
如果学生没有完成作业,数字钟将会提醒他们完成。
数字钟的优势:数字化教育工具的吸引力取决于它们的功能和灵活性。
数字钟虽然看起来简单,但它的实际用途非常重要。
它能够帮助教师更好地了解学生的学习情况,同时也能够更好地帮助学生提升学习效果。
数字钟优势如下:1、灵活性:数字钟可以根据教学需要进行设计和选择,可以在不同的学科中得到广泛应用。
2、互动性:数字钟可以与学生互动式地使用。
通过使用数字钟可以促进学生互动,提高学生的学习效果,帮助学生主动掌握学习内容。
赣南师院物理与电子信息学院SOPC技术课程设计报告书专业班级:09电信本学生姓名:胡雯莹学号:090802054指导教师:管立新设计时间:2011.12.30基于SOPC技术实现数字闹钟一、课题简介SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件Quartus II。
SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案有多种途径,我们主要用到的是:基于FPGA嵌入IP硬核的SOPC 系统1.基于FPGA嵌入IP硬核的SOPC系统即在FPGA中预先植入嵌入式系统处理器。
目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。
尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统。
如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。
这样会增加整个系统的体积、功耗,而降低系统的可靠性。
但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。
2.基于FPGA嵌入IP软核的SOPC系统这种SOPC系统是指在FPGA中植入软核处理器,如:NIOS II核等。
用户可以根据设计的要求,利用相应的EDA工具,对NIOS II及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。
二、数字闹钟的工作原理及设计过程1、工作原理数字闹钟组成结构数字闹钟一般由振荡器、分频器、计数器、译码器、显示器及部分扩展电路等组成。
1.1 振荡器振荡器是数字电子钟的核心,其作用是产生一个频率标准,即时间标准信号,然后再由分频器生成秒脉冲,所以,振荡器频率的精度和稳定度就基本决定了数字电子钟的准确度,为产生稳定的时间标准信号,一般采用石英晶体振荡器。
从数字电子钟的精度考虑,振荡频率越高记数精度越高。
但这回使振荡器的耗电量增大,分频器级数增多。
所以在确定频率时应同时考虑这两方面的因素再选择器材。
如果精度要求不是很高的话我们可以采用由集成逻辑门与RC组成的时钟源振荡器或由集成电路定时器555与RC组成的多谐振荡器。
一般而言,选用石英晶体振荡器所选用的晶振频率为32768Hz,再通过15级2分频集成电路得到1Hz的标准秒脉冲。
1.2 分频器振荡器产生的时标信号频率很高,要使它变成用来计时的“秒”信号,需要若干级分频电路,分频器的级数和每级分频次数要根据时标信号的频率来决定。
其功能主要有两个:一是产生标准秒脉冲信号,二是提供功能扩展电路所需的信号。
1.3 计数器有了“秒”信号了就可以根据60秒为一分,60分为一小时,24小时为一天的进制,分别选定没“秒”、“分”、“时”的计数器。
从这些计数器的输出可得到一分、一小时、一天的时间进位信号。
在秒计数器钟因为是60进制通常用两个十进制计数器的集成片组成,其中秒个位是十进制的、十位是6进制的。
可采用反馈归零法变“秒”十位为6进制,实现秒的60进制,同样,分计数器的与秒的一样,只是时计数器里需要变成24进制,也用反馈归零法实现。
1.4 译码器及显示器因为计数器全部采用8421BCD码十进制计数集成芯片,所以“秒”、“分”、“时”的个位和十位都有四个状态输出端(Qa、Qb、Qc、Qd)。
将这些输出端接至专门设计制造的译码电路,就可产生驱动七段数码显示器的信号。
1.5 校时电路当数字钟接通电源或者计时出现误差时需要校正时间,校时电路的要求是:在小时校正时不影响分和秒的正常计数;在分校时时不影响时和秒的正常计数;校时方式有“快校时”和“慢校时”两种,“快校时“是通过开关控制使计数器对1Hz的校时脉冲计数,“慢校时”是通过手动产生单脉冲作校时脉冲,校时的基本原理是将0.5秒的脉冲信号(可由分频器的第14级分频输出端直接获得),直接引进“时”计数器,同时将计数器置“0”,在时的指示调到需要的数字后,再切断“0.5”信号让计数器正常工作。
2、设计过程SOPC设计首先使用Quartus II建立一个Quartus II 的工程,创建完成工程之后,需要创建顶层实体。
创建完顶层设计文件之后,使用SOPC Builder创建NIOS II 嵌入式处理器,添加、配置系统的外设IP,组成Nios II系统模块。
Nios II 系统模块设计完成之后要加入到该顶层实体中,然后进行其他片上逻辑的开发。
2.1 Quartus II 工程的建立:(1)启动Quartus II软件;(2)选择File菜单NewProjectWizard,出现Introduction页面,该页面介绍所要完成的具体任务,点击next。
(3)进行项目名称的设定、工作目录的选择。
指定工程存放的目录,工程名和顶层实体名,工程名和顶层实体名要求相同,工程目录可以随意设置,但必须是英文的目录,工程名和顶层实体名也要求是英文名字,我们的工程名和顶层实体名为clock,选择Next。
4. 可以为工程添加先期已经输入的设计文件,指定用户自定义的元件库的路径,这里我们没有事先输入好的文件,也没有自定义的元件库,点击Next进入下一步。
5. 用户指定目标器件,根据开发板的所使用的器件来选择,实际开发中,通过查看核心板的参考手册来获取所使用的器件具体型号,可以使用窗口右边的Filters来加快器件的选择,选择完毕点击Next。
6. 指定在Quartus II 之外的用于,设计输入、综合、仿真、时序分析的第三方EDA工具,Quartus II对第三方工具的支持比较完善。
这里我们不做选择,直接点击Next。
所见新工程的信息,确认所创建工程的主要信息,点击Finish完成工程的建立,在开发的过程中,还可以通过菜单来对这些配置进行修改。
点击Finish按钮,Quartus II自动会打开这个工程,可以看到顶层实体名出现在工程导航窗口中。
7,、新建的工程窗口中,选择;在Device Design File页中,选择Block Diagram/Schematic File,即原理图文件,也可以选择硬件描述语言的文件形式。
单击OK。
出现一个模块编辑窗口;选择,出现Save As对话框,显示的目录为之前设置的工程目录,文件名为之前设置的顶层实体名(由于这是工程的第一个文件,系统会默认为顶层设计实体的名字)。
确定Add to Current Project选项被选中,点击save。
器件型号2.2创建NIOS II 系统模块(1)创建系统:启动SOPC Builder,选择,出现如图所示的Create New System对话框。
键入系统的名字,选择硬件描述语言Verilog或者是VHDL。
(2)设置系统主频和指定目标FPGA:在Board部分选择Unspecified,然后在Device Family 选择Cyclone II。
用户需要设置系统的时钟频率,该频率用于计算硬件和软件开发中的定时,比如时钟分频或波特率,还可以选择是否选用流水线。
(3)加入Nios II CPU和 IP模块:首先加入Nios II软核,Nios II 是软核CPU,共有三种类型的CPU可供选择:Nios II/e(经济型)、Nios II/s(标准型)和Nios II/f(快速型)。
用户可以根据实际的情况进行选择。
Nios II是一个用户可以自行进行定制的CPU,用户可以增加新的外设、新的指令等。
添加CPU软核添加内存__SDRAM添加LCD模块添加100ms的定时器完整的SOPC的硬件系统Cy clone IIinclk0 f requency: 50.000 MHzOperation Mode: NormalClk Ratio Ph (dg)DC (%)c01/1-54.0050.00c11/10.0050.00inclk0c0c1PLLinst1生成的PLL 模块P IN_R21P IN_T22P IN_T21LVTTL LVTTL LVTTLVCCKEY[3..1]INPUT P IN_L1LVTTLVCCCLK_50MHzINPUT P IN_R22LVTTLVCCReset_nINPUT P IN_L22LVTTLVCC SW[0]INPUT P IN_H14LCD_RW OUTPUT P IN_H13LVTTLLCD_RSOUTPUT P IN_H12LVTTL LCD_E OUTPUT IN_T3DRAM_CAS_N OUTPUT P IN_N3DRAM_CKE OUTPUT P IN_T6DRAM_CS_NOUTPUT P IN_R8DRAM_WE_N OUTPUTIN_T5DRAM_RAS_N OUTPUT IN_U3IN_V4DRAM_BA_1,DRAM_BA_0OUTPUT P IN_R7P IN_M5DRAM_UDQM,DRAM_LDQM OUTPUT IN_W4IN_W5IN_Y3IN_Y4IN_R6IN_R5IN_P 6IN_P 5IN_P 3IN_N4IN_W3IN_N6DRAM_ADDR[11..0]OUTPUT P IN_U4DRAM_CLKOUTPUT P IN_A13P IN_B13P IN_A14P IN_B14P IN_A15P IN_B15P IN_A16P IN_B16LVTTLLVTTL LVTTL LVTTL LVTTLLVTTL LVTTLLVTTL VCCLCD_data[7..0]BIDIR P IN_U1P IN_U2P IN_V1P IN_V2P IN_W1P IN_W2P IN_Y1P IN_Y2P IN_N1P IN_N2P IN_P 1P IN_P 2P IN_R1P IN_R2P IN_T1P IN_T2VCC DRAM_DQ[15..0]BIDIR Cy clone IIinclk0 f requency : 50.000 MHz Operation Mode: Normal Clk Ratio Ph (dg)DC (%)c01/1-54.0050.00c11/10.0050.00inclk0c0c1PLLinstclk_0 reset_nin_port_to_the_button_pio_0[2..0]in_port_to_the_sw itch_pio_0LCD_E _from_the_lcd_0 LCD_RS_from_the_lcd_0 LCD_RW_from_the_lcd_0zs_addr_from_the_sdram_0[11..0] zs_ba_from_the_sdram_0[1..0] zs_cas_n_from_the_sdram_0 zs_cke_from_the_sdram_0 zs_cs_n_from_the_sdram_0zs_dqm_from_the_sdram_0[1..0]zs_ras_n_from_the_sdram_0 zs_w e_n_from_the_sdram_0LCD_data_to_and_from_the_lcd_0[7..0] zs_dq_to_and_from_the_sdram_0[15..0]CLOCKinst1顶层总原理图2.3部分程序如下: 模24计数器 //counter24.v1 //filename :counter24.v (BCD : 0--23)2 module counter24(CntH,CntL,ncR,EN,CP);3 input CP,ncR,EN;4 output [3:0]CntH,CntL;5 reg [3:0]CntH,CntL; 67 always @(posedge CP,negedge ncR) 8 begin 9 if(~ncR)10 {CntH,CntL}<=8'h00; 11 else if(~EN)12 {CntH,CntL}<={CntH,CntL};13 else if((CntH>2)||(CntL>9)||((CntH==2)&&(CntL>=3))) 14 {CntH,CntL}<=8'h00;15 else if((CntH==2)&&(CntL<3)) 16 begin 17 CntH<=CntH;18 CntL<=CntL+1'b1;19 end20 else if(CntL==9)21 begin22 CntH<=CntH+1'b1;23 CntL<=4'b0000;24 end25 else26 begin27 CntH<=CntH;28 CntL<=CntL+1'b1;29 end30 end3132 endmodule模60计数器//counter60.v1 //countuer 6023 //counter10.v (BCD: 0--9)4 module counter10(Q,ncR,EN,CP);5 input CP,ncR,EN;6 output reg [3:0]Q;78 always @(posedge CP,negedge ncR)9 begin10 if(~ncR)11 Q<=4'b0000;12 else if(~EN)13 Q<=Q;14 else if(Q==4'b1001)15 Q<=4'b0000;16 else17 Q<=Q+1'b1;18 end19 endmodule2021 //counter6.v(BCD: 0--5)22 module counter6(Q,ncR,EN,CP);23 input CP,ncR,EN;24 output reg [3:0]Q;2526 always @(posedge CP,negedge ncR)27 begin28 if(~ncR)29 Q<=4'b0000;30 else if(~EN)31 Q<=Q;32 else if(Q==4'b0101)33 Q<=4'b0000;34 else35 Q<=Q+1'b1;36 end37 endmodule3839 //counter60.v(BCD:0--59)40 module counter60(Cnt,ncR,EN,CP);41 input CP,ncR,EN;42 output [7:0]Cnt;43 wire [7:0]Cnt;44 wire ENP;4546 counter10 UC0(Cnt[3:0],ncR,EN,CP);47 counter6 UC1(Cnt[7:4],ncR,ENP,CP);4849 assign ENP=(Cnt[3:0]==4'h9);50 endmodule闹钟//bell.v1 //Bell.v2 module Bell(alarm_clock,set_hr,set_min,hour,minute,3 second,sethrkey,setminkey,_1khz,_500hz,4 _1hz,ctrlbell);5 output alarm_clock;6 output [7:0]set_hr,set_min;7 wire alarm_clock;8 input _1khz,_500hz,_1hz;9 input sethrkey,setminkey;10 input ctrlbell;11 input [7:0]hour,minute,second;1213 supply1 Vdd;14 wire hrh_equ,hrl_equ,minh_equ,minl_equ;15 wire time_equ;1617 counter60 SU1(set_min,Vdd,setminkey,_1hz);18 counter24 SU2(set_hr[7:4],set_hr[3:0],Vdd,sethrkey,_1hz);1920 //comparate the set time21 _4bitcomparator SU4(hrh_equ,set_hr[7:4],hour[7:4]);22 _4bitcomparator SU5(hrl_equ,set_hr[3:0],hour[3:0]);23 _4bitcomparator SU6(minh_equ,set_min[7:4],minute[7:4]);24 _4bitcomparator SU7(minl_equ,set_min[3:0],minute[3:0]);2526 assign time_equ=(hrh_equ && hrl_equ && minh_equ && minl_equ);27 assign alarm_clock=ctrlbell?(time_equ&&(((second[0]==1'b1)&&_500hz)28 ||((second[0]==1'b0)&&_1khz))):1'b0;29 endmodule3031 //4bitcomparator.v32 module _4bitcomparator(equ,a,b);33 input [3:0]a,b;34 output equ;3536 assign equ=(a==b);37 endmodule2.3元器件型号及逻辑门芯片:EP2C20F484C7 1.2v 18752 315 239616 52 4占用了3383个逻辑单元,占器件中18752个逻辑单元的18%Timeout period:100msTimer counter size :32bitsPio:4电容若干开关若干100khz晶振1块蜂鸣器1个三、设计过程中遇到的问题及方案在连接电路时,用1HZ的信号输入时,发现数码管显示没有按预期的要求显示,结果得等一两分钟才显示一次,于是用是最后用时钟信号来代替晶振通过调节脉冲信号的大小,结果发现在200HZ下,数码管才能实现其功能。