基于FGPA和IIC技术实现微显示芯片的配置袁光 110040641摘要:TTC配置模块主要实现微显示芯片的各种初始状态配置当釆用不同 的配置方式时,即是说通过串口总线对微显示芯片内部的相应寄存器写入不同的 数据值,可使0LED屏幕分别显示各种不同制式(NTSC、PAL、VGA)本论文以 VGA制式为例,说明通过IIC总线对微显示芯片的配置方式在配置过程中,FPGA 做为主控器件对从器件微显示芯片进行操作Abstract: IIC configuration module mainly realize micro display chip various initial state configuration. When using different configuration mode, i.e. through serial bus to the micro display chip inside the corresp on ding registers into different data value, can make OLED screen respectively show different formats (NTSC and PAL and VGA). This papers to the VGA formats for example, and through IIC bus to the micro display chip disposition ways. In the process, the FPGA as master device from device to micro display chip operation.关键字:IIC; FPGA; OLED1概述本文所设计的基于lie通信技术配置微显示芯片是作为某国防重点预研项Fl 的组成部分。
由于FPGA在这方面的优势,从而舍弃单片机、arm等器件采用 FPGA作为主控制器件对从器件微显示芯片进行操作2设计原理2.1 OLED工作原理OLED (Organic Light Emitting Display)即有机发光显示器,在LCD上 屈于新型产品,被称誉为“梦幻显示器雹OLED显示技术与传统的LCD显示方式不 同,无需背光灯,釆用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这 些有机材料就会发光而且OLED显示屏幕可以做得更轻更薄,可视角度更大, 并口能够显著的节省耗电量微显示芯片工作在VGA制式下需要配置的寄存器部 分如表1所示NAMEADDRESSVGA_60NAMEADDRESSVGA_60STATUS0000MOFF0838RGATN0178VMODE0904ROFF0230HM0DE0A01GGAIN0378BRT_L0B00GOFF0430BRT_UOC02BGATN0578HRATE_L0D00BOFF0630HRATE_U0E80MGAIN0780PLL_LOFIE表1 VGA制式下需要配置的部分寄存器其中地址0所对应的寄存器为状态寄存器,是只读模式;因此在对OLED微显 示芯片进行配置时,只需对地址「26的寄存器进行配置。
2.2 IIC工作原理11C总线是荷兰飞利浦PHILIPS开发的一种高效,实用,可靠的双向二线制 (也有3线制,家电很少用)吊行数据传输结构总线,该总线使各电路分割成各 种功能的模块,并进行软件化设计,各个功能模块电路内都有集成一个IIC总线 接口电路,因此都可以挂接在总线上,很好的解决了众多功能IC与CPU之间的 输入输出接口,使其连接方式变得十分简单IIC总线上的器件分为主控器和 被控器两大类它们之间只要在正常工作,总有一个I1C在总线上发送信息数据 (一般是在开机后cpu首先像各个功能模块电路发出自检信号,得到各个功能模 块电路正常反馈的数据信号后机器才进入正常工作状态)图1为IIC的单字节 读写RANDOM REGISTER WRITE PROCEDURE羽 1|0 1 0|x W|1 AA Pregister address A dataAcknowledge I Acknowledge WRITE command7 bit addressSTART conditionSTOP condition —AcknowledgeRANDOM REGISTER READ PROCEDURE图1 IIC单字节读写其中单字节写操作:起始信号+器件地址+写信号+寄存器地址+应答位+ 数据+应答位+停止信号。
单字节读操作:起始信号+器件地址+写信号+ 寄存器地址+应答位+起始信号+器件地址+读信号+数据+应答位+ 停止信号表2为IIC连续写操作:起始信号器件地址写信号寄存器起应答位连续的数据停止信号始地址(每个数据 后都需一个 应答位)表2 IIC连续写操作2.3 IIC连续写操作设计状态机由上表的连续写操作过程,设计状态机共有六个状态,如图2所示的意义如下:parameter idle 二 6'bOOOOOl, //Istart 二 6, b00_0010, //2drad = 6'bOO 0100,//drive addressregad = 6'b00_1000,//register addressdata 二 6'b01_0000, //16 stop 二 6,bl0_0000; //32idle:空闲状态SDA、SCL两根控制总线保持高电平start:起始状态 发送起 始信号drad:发送器件地址regad:发送起始寄存器地址data:发送寄存 器数据stop:停止状态 发送停止信号count用于对主时钟进行计算在空 闲状态时,SCL、SDA拉到高电平在进入IIC工作状态后,每四个吋钟信号输 出一个SCL时钟。
状态转移说明:cnst信号用于计算每个状态中的时钟数由于起始信号和 停止信号可以在一个SCL完成,因此在这两个状态吋,当cnst从0计数到3吋, 即发牛状态转移;在发送器件地址和寄存器地址时,包含应答位在内共需发送九 位数据;每位数据的发送也是在一个SCL时钟内完成,而毎个SCL需要4个主时 钟,所以发送所有数据需要9bitsx4clks = 36clks.因此在这两个状态中,当cnst 从0计数到35时,状态机转移到下一个状态;在发送数据时,共需写入26个寄 存器,写每个寄存器的操作中共需发送九位数据(含应答位),因此由计数器i 来计算已写入的寄存器个数;每写完一个寄存器后将cnst清零一次,并使i加 1;当最后一个寄存器写完时,即cnst为35且i为26时,表明所有数据写入完 毕;状态机进入下一个状态一一停止状态在完成停止状态,并进入空闲等待吋, 将状态机完成信号overflag拉高以写入器件地址为例说明移位操作的实现过 程,具体代码如下: drad : beginif (cnst == 6'd35) begin//8 位地址数据+1 位读写控制位(4*9SCL=36clk) shiftdata <= {8' dl, 1' bO} ;//在 shiftdata 寄存器中放入下一个、//需进行移位操作的数据sdareg <= shiftdata[8];//输出该状态下最后一个需写入的数据 endelse if (((cnst)%3, d4)==,dO) begin//每4个主时钟即为一个SCL,此时输出shiftdata中的高位数据,并在低 〃位补零,以完成移位操作shiftdata <= {shiftdata[7:0], T bO}; sdareg <= shiftdata[8];endelse beg inshiftdata <= shiftdata;sdareg <= sdareg;endend3仿真下面图3、图4、图5、图6分别为状态转移说明、起始信号、结束信号、整体仿真图。
r ,J4O"Igjrt/FcviQjrt/cntf2.viflJrtZentoJOJtt/ceurf.tdst<•-vlgjit/fce_Al 血,-W/ovwlUo<•iLtit/W^g乙4-心“皿&dm/*tg2tst/jWtd^a一 jHfljrtAeif.liViatfwgNowI w50叫图3状态转移说明图4起始信号7/..vejHjLWAenieti /icdrve.^{Lkt>Wtog AcArve.如:t/td /icdrve.如 Mata dwe.畑 Wuteeg ve&gJrfAhMah Ac 血则 皿伽匕妝血制/•cdrrve.如附ci"■畑毗g皿 /he 如e.WLtSb ZfcAr/e■虹 W/cmt Acth/e.vIjLW/cnl /bc^r/e•虹 W/cort .ejtLW/coumjeH /ic&ve.旳Jrt/en /rdr/e.vijLbt/i/L 1 丄.1LHJ7 \咲顒InW q眾4出耳*科・1 J 1 1 £DA LnfiaW 1 1 ... K Ji /r门=—一・ jflj 1 1 T H-T 段-F吊===1=Wrf■貨那f协匍肉(沁:flt问册 旧越遷"讯:$lrj>ril总筒 山曲Now| 13665403262 pt1010000000 1012000000 1014000000 T 1016000000 1018000000Cuwil1289827 pt图5结束信号'/•cdnve.vijLtd/ck'vej虬I航e(L欣 D■/ /icdnve.vigjsl/dddl “ /Wrrve.vlLltt/cnst L Acdnve.vIjLlrt/crt L /fcdrrve.vIfljMcart CP e.vljLW/cartJe$tJ Acdnve.vlgL.Ut/enL Ac昴e.vtflL讪* .. ve.vlsLM/oveffeg■ “ve.vIftjWrettied 、^cdive.vlfljit/rwflag'/icdive.vlgJ$tAd■ /icdive.vigLld/dd'.dwe■虹W/wtas 07 ve.vlLlrt/tMtdald L /rdnve.vlsLM&e L /Wnve.vIflLltWertNow13665403262 p$Cursed |1289827 p$图6整体仿真图4结论本系统通过。