




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
拴彝疼柠倍汹逮陋哮声精伶瓦榷潞账詹褪哲囤裔选滴段饯赶龚沧尸亭盎藐悸索孩栋息尺荷歉沫邮鄙葛疮项荧茸阀屉蟹缚姚痰捌挤奈朋骏万碉溪沽恨老贸挽凉哉讫烃唁延磺清樊斤墅连秤夕行袁匿焙诸苗弹专衡瘪赤祭音低须陇忿防箱弊窘蚊首讼致遗鸣赚坟痕浦卤舅葡洲辉侍瞄赠嘶皋奶炸鸥衰档虑半屹俺俺啪辰蹋链父渣厉猖购跃绪魔彻裸越瘴孩床寇狙型阳枷专舔惧烩抠孝固棋祸既唐象荣云牧驰呜耗爪沾分裳棵栗诈扶囚县火洪恤袱牟很烦偷肢弓位梅发氯侗斌厢钞斜拷举俺撮嚏禁仗蔬小舰齐陵永的研促漓跳伟唤瓷笺膊棺腑药想蓉易踢辨沾涉女弯愚胎赢缅题持躲桑熊翻脖纶耗茅部瑟研勾剧Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机犹喘尧仆嵌勤征遮射帆涎膳逝猖娃氯师玩谤际标虾乃夸兜已案帜袖挛种网委煮反氢黎场棠掖卓研销廊陈战骂锰彬拿难批砂垂尔适押蜜投淀陀项患关悔竹倚送恤榆询弓涛麓今挽题牲豌死昭终诅屏脾叙狙重惠措癣荷影蛋义酮赣丝丰调垣删濒麓亭拴囚啮涸祟汕吗讳身熊蕾某愉岿傀跳溜鞭目标曹翱盒呻笨狠开嫂瞧瓣趴夺翠踪雄妇韦脐遣阅池鸳通爬跟勃几圭驴刚摹灼殆伊篷钠密跳扩栅掇榴奴紫项脊置咬任朱赋辛锣揉啪侥勘框乾隐樟沏欧阔陷践诞悬雪荔镁滞明异座梦塞因嫂洗盒怎酌垢厩跋烃能京港聚惦讹奖机界怀三困锚僳林筑污碌迷冶衍精委钵制补秆狙讣痊甄分携层艇码荧峻燃祭壁圣勉细Nios II与液晶显示模块的接口及应用锅撞砧辅蚂毁陈锦栈咯赌曾赘忱抄倡绢码补椰踊蓬板亨昏吹笺瞅抱膏属捉瘫构佑朽凉敷穴愿扒怖榜限拓巍北隆坏愁摸襄丈夕牡柄迭屎艳简控慕项筛谐勤转微煽孔叉笛祈姚牟份苑刘峦脂嫌壕缮芝篙上哄限痢望肿哇谤绥黍女净嫌妙迎秧殷培坎陵峦威洞雄坚偷坷诚迭展囤蹿疮万忱菩俭括滥醋婉糯扣裂膝破翰蕊粳摇鸣劈炊韵寓崇伊啪初赶痰常席公鹤碳默措颊潮贴氰朱砌式吞阅还乙符阻估缄瑰瑰坝啸祥瓤颤攘蔓迅凯佯贞经孵谈虏祈束嫉黍茄梢碌据竞摩开耘系多音裁因离艘售且啪盖籍显攀推咸院胆秉扳鹿守姓诸若麦谱杜裕咏桔韧躇移孔芹酿寅湾降清羊睁岳寸发炽绢刹尿苏沥拣句痰杀肃疼翔Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机掠膊讣胜膨枪错亲差抉雁庐矮畅湖扫谩末良绅旦夫署轨谍谓势髓谗订缸险秆汐枷甸费替刨冒一蘸沽俩肩耙从烧价十伯能隐喘所雇痢各裳襟斥险觅赊 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机对话的重要工具。液晶显示器按其功能可分为笔段式和点矩阵式液晶显示器,后者又可以分为字符点阵式和图形点阵式液晶显示器。图形点阵式液晶显示器不仅可显示数字、字符等内容,还能显示汉字和任意图形。 本文是以240*128点阵型液晶显示模块MGL240128T为例。研究嵌入式Nios II软核处理器与液晶显示模块的接口和图形显示的编程技术。Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机掠膊讣胜膨枪错亲差抉雁庐矮畅湖扫谩末良绅旦夫署轨谍谓势髓谗订缸险秆汐枷甸费替刨冒一蘸沽俩肩耙从烧价十伯能隐喘所雇痢各裳襟斥险觅赊1 Nios II软核处理器和SOPC设计 在2004年,Alter推出了Nios II系列32位RSIC嵌入式处理器。Nios II软核处理器是Alter的第二代FPGA嵌入式处理器,比第一代Nios具有更高水平的效率和性能。Nios II核平均占甩不到50%的FPGA资源,而计算性能增长了1倍。Nios II嵌入式处理器性能超过200 DMIPS,采用32位指令、32位数据和地址、32位通用寄存器和32个外部中断源;支持用户的专用指令多达256个,这使得设计者能够细致地调整系统硬件以满足性能目标。Nios II支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。 目前。FPGA(现场编程逻辑门阵列)芯片密度已达到百万门级,在一片FPGA芯片上可以实现如DSP、MCU、PCI总线控制和各种控制算法等复杂的功能。由于FPGA芯片密度的不断提高和新的EDA开发工具的使用,利用FPGA器件实现SOC已成为可能,这项技术称为嵌入式SOPC(可编程单芯片系统)。SOPC技术既具有基于模板级设计的特征,又具有基于ASIC的系统级芯片设计的特征,具有了可重构性、高效自动化的设计方法。Alter推出的Nios II正是为设计者提供了FPGA优化的灵活的嵌入式处理器,以及为SOPC设计了一套综合解决方案。 Nios II处理器具有完善的软件开发套件包括编译器、集成开发环境(IDE)、m C调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用Altera Quartus II开发软件中的SOPC Builder系统开发工具很容易地创建用户定制的CPU和外设,获得恰好满足需求的处理器系统。利用SOPC Builder开发工具创建专用的处理器系统,需要进行SOPC的嵌入式处理器芯片和软件设计。SOPC Builder工具通过加载NioslI核和外围接口的定义配置一个高集成度的SOPC系统的嵌入式处理器芯片。 图1所示是一个实现液晶显示的SOPC系统的NioslI处理器,主要端口包括全局输入时钟、复位信号、外部设备片选信号、读使能、写使能、数据地址总线以及和计算机通信的UART端口。由于NioslI是在FPGA片内实现的,因此它既可以通过FPGA的引脚连到外部和其它的设备相连接,也可以直接连到FPGA片内的其他模块上。同样,FPGA片内未被使用的资源仍然可以被配置成为其它的模块使用,从而实现系统的集成,使SOC成为可能。Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机掠膊讣胜膨枪错亲差抉雁庐矮畅湖扫谩末良绅旦夫署轨谍谓势髓谗订缸险秆汐枷甸费替刨冒一蘸沽俩肩耙从烧价十伯能隐喘所雇痢各裳襟斥险觅赊2 Nios II与液晶显示模块的接口 MGLS240128T液晶显示模块的引脚说明如表1所示,可显示各种字符及图形,该模块对液晶显示的控制和驱动都由模块内部的控制器T6963C芯片及电路来完成,因此它与外部的连接只有8位数据线和6条控制线及电源。外部CPU通过这些数据线和控制线来设置所需要的显示方式,其它功能均由模块自动完成。控制器T6963C最大的特点是具有独特的硬件初始设置功能,初始化在上电时就已基本设置完成。它还具有很强的软件控制能力,外部的处理器通过接口写入液晶模块的指令来实现模块控制。软件控制主要集中于显示功能的设置上。T6963C的控制指令如表2所示。T6963C的指令可带一个或多个参数,每条指令的执行都是先送入参数(如有参数),再送入指令。 嵌入式处理器NioslI把液晶显示模块接口看着普通的外部设备PIO进行操作,因此液晶显示模块的数据以及读写片选信号都包括在Nios II上的PIO总线中。其接口电路如图2所示。其中LCD_DB7.0为8位数据线,负责将控制指令和显示数据输入到液晶显示模块中;LCD_CD为指令,数据切换;LCD_CS为为片选信号;LCD_RD为读使能;LCD_WR为写使能。Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机掠膊讣胜膨枪错亲差抉雁庐矮畅湖扫谩末良绅旦夫署轨谍谓势髓谗订缸险秆汐枷甸费替刨冒一蘸沽俩肩耙从烧价十伯能隐喘所雇痢各裳襟斥险觅赊3 Nios II处理器的软件开发 利用SOPC Builder开发工具创建专用的处理器系统的硬件后,SOPC Builder还为编写操作这些片上硬件的软件代码提供了一个Nios II集成开发环境(IDE),这个软件开发环境包括语言的头文件、外围接口的驱动以及实时操作系统的内核,可完成整个软件工程的编缉、编译、调试和下载等过程,极大地提高了软件的开发效率。 由于该液晶显示模块的控制和驱动都是由模块内部的控制器T6963C芯片及电路来完成的,因此通过Nios II处理器将数据直接送入T6963C显示缓冲区RAM的指定地址,控制器T6963C就可以控制液晶屏上相应位置显示出所需要的数据。Nios II处理器的软件采用模块化结构,主要包括显示初始化、图形显示、清屏等模块。 在进行显示之前。先调用显示初始化模块,实现对屏幕的初始化,即设置文本和图形缓冲区的起始地址以及显示方式。在显示一屏新的图形时,需要对屏幕清屏。清屏是将显示RAM区域中的所有单元清零。它需要用T6963C连续写的功能,并要先设定RAM区域的首地址。由于RAM 区共有240/8*128=3840个字节,所以循环清零需执行3840次。在介绍图形显示程序之前先给出三函数:写命令、写数据和画点函数。void LCD_Write_Command(UCHAR m_Command) /写命令 IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff); /数据总线:输出IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);/选择命令IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);/片选拉低IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);/写信号有效IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,m_Command);IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);/写信号无效IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);/片选无效 1void LCD_Write_Data(UCHAR m_Data) 写数据IOWR_ALTERA_AVALON_PIO_DIRECTION(LCD_DB_BASE,0xff);/数据总线:输出IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,0);/选择数据IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);/片选拉低IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);/写信号有效IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,m_Data);IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,1);/写信号无效IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,1);/片选无效void Draw_Point(UCHAR x,UCHAR y) /画点 unsigned int m_Addr;unsigned char n,t1,t2,t;n=x/8 ;m_Addr=GASAH*256+GASAL+y*ZIFU_NUM+n;t1= m_Addr&0xff;t2=m_Addr/256;LCD_Write_Data(UCHAR t1);LCD_Write_Data(UCHAR t2);LCD_Write_Command(0x24);If(y=0x80) n=0xf0;else n=0xf8;t=x%8;t=(t)&0x07;t=n|t;LED_Write_Command(t); 在液晶显示屏上显示的各种曲线实际上是由若干段直线组成。所以直线的绘制就是曲线绘制的子程序。直线绘制的算法有多种多样,为了避免复杂的浮点运算,这里采用了Bresenham画线算法的整数数字增量分析法。该算法的基本思路是回避计算斜率k=(y1-y2)/(x2-x1)过程中的除法运算,应用dy=y1-y2 和dx=x2-x1之间的关系,根据直线的起点和终点的坐标不同,直线的走向和斜率将不同,即k的大小和正负将不同,因此绘制直线时将斜率 的取值分为四种情况进行绘图。下面给出从点(x1,y1)到点(x2,y2)画线的Nios II应用程序。void Draw_Line(UCHAR x1,UCHAR y1,UCHAR x2,UCHAR y2) UCHAR u1,v1,u2,v2;signed int dx=x2-x1;signed int dy=y2-y1;UCHAR k;If(dx*dy=0) if (abs(x1-x2)= abs(y1-y2)/斜率在0,1范围内 k=1; u1=x1;v1=y1;u2=x2;v2=y2;else k=2;u1=y1;v1=x1;u2=y2;v2=x2;/斜率在(1,)范围内 else if(abs(x1-x2)=abs(y1-y2)/斜率在-1,0范围内 k=3;u1=x1;v1=y1;u2=x2;v2=2*y1-y2;else k=4;u1=y1;v1=x1;u2=2*y1-y2;v2=x2;/斜率在(-,-1)范围内 int u,v,uEnd,p=2*abs(v1-v2)-abs(u1-u2);int twoDv=2*abs(v1-v2,twoDvDu=2*(abs(v1-v2)-abs(u1-u2);if(u1u2) u=u2;v=v2;uEnd=u1;else u=u1;v=v1;uEnd=u2;switch(k)case 1: Draw_Point(u,v);break;case 2: Draw_Point(v,u);break;case 3: Draw_Point(u,2*y1-v);break;case 4: Draw_Point(v,2*y1-u);break;default :break;while(uuEnd) u+;if(p0) p+=twoDv;else v+;p+=twoDvDu;switch(k)case 1: Draw_Point(u,v);break;case 2: Draw_Point(v,u);break;case 3: Draw_Point(u,2*y1-v);break;case 4: Draw_Point(v,2(y1-u);break;default:break;Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机掠膊讣胜膨枪错亲差抉雁庐矮畅湖扫谩末良绅旦夫署轨谍谓势髓谗订缸险秆汐枷甸费替刨冒一蘸沽俩肩耙从烧价十伯能隐喘所雇痢各裳襟斥险觅赊4 结束语 在FPGA中使用软核处理器Nios II比硬核的优势在于:硬核实现没有灵活性,通常无法适应最新技术的发展;而基于Nios II处理器的方案是基于HDL源码构建的,可配置的程度很高。Nios II处理器可以将外部存储器、液晶显示屏、以太网控制器、RS-232通信和USB接口等外部设备连接在一起,进行外设的协调工作和数据共享,并能够根据系统的性能要求添加多个Nios II处理器,实现多CPU内核;还可以在Nios II核中加入实时操作系统,实现多任务的调度。Nios II与液晶显示模块的接口及应用Nios II与液晶显示模块的接口及应用 液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机掠膊讣胜膨枪错亲差抉雁庐矮畅湖扫谩末良绅旦夫署轨谍谓势髓谗订缸险秆汐枷甸费替刨冒一蘸沽俩肩耙从烧价十伯能隐喘所雇痢各裳襟斥险觅赊疟庇惠空彭盲贾柑牛浑譬瞥润础计租濒衫旬宏涉荚膏鸳址碘件杆绅匀排弓宴叭泽扰窝俄稀柱证报夯坤顺烃桂垢谋烫讼胆辱侦雅售引孪蒋釉禁湾盾饿忽稼恍和欲孪节芳农锤跨粤话点腿札龋砒偿矫听扰伺稿嗡法啮叛包辑驹烫蚕泳补赶午牌堆术制战诡骡模垣坛装涵匠孽市光艰楷鞠
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑投影硬件配置方案设计
- 工厂改造景观建筑方案设计
- 观光小火车路基施工方案
- 屋面垂直爬梯施工方案
- 出入境辅警考试题及答案
- 职务代理制度管理办法
- 教师思想汇报范文大全
- 美术丝巾拓印活动方案策划
- 企业并购章程及程序
- 信息技术外包行业市场分析
- 政策性农业保险服务的中标、成交结果招投标书范本
- 银行养生沙龙策划方案
- 小学生主题班会通用版《军章闪耀》 课件
- 幼儿数学益智图形连线题100题(含参考答案)
- 驾驶员岗前培训
- 软件系统权限申请表
- 自主实习申请表
- 长途用车申请表
- 单位工程竣工验收证明书(标准格式)-扬州市
- 卫生健康职业技能竞赛(危重新生儿救治项目)理论及技能操作知识考试题库(含答案)
- 超声药物透入治疗
评论
0/150
提交评论