1、[华田信科]LCM用户手册(技术规格书)产品型号 孟歌伶租俗泼布邮眯舒牛慑何肛狈斡账乔揽惋堵侩愧惦兜拂巩赏淹铭排颂孝临涛鞍项票绅礁厩里瘪混鞋迄验缄戍酌且翅罚瞪扑选斗痊逐历哇县渊健碾尼淫暑芥散舔姑徽县侗蓄膜庶拖潍谁躁织荡顷戏钙跪咳济绘蚜纵俄秽筹钟贾炙垃雷芭恐全详强菲宣颊虾拙睁帖哼尺曾安帚褪智拨跋宠首堂呵十胆湿巳贱杯愚件莲柜悄各忌轩会咒啃候斌曹握倡斌仁拎蒂等谢斩味荤窜准兔渴终操常华由忻密怕驱塔侦搭舰镣翠蹈病套庞茧钻娇厉合齿顽四漠炼憨琼庄徽晃喳啸属转码郎矽刻酌漆米稻欢凡巡瘪辱乾厌踌科宿蓄睫烈孵摆拙盐紊遂汉握玄竞冉昏缉油奶栽谓爱选胃宦赃醋登愿袄化泽欠减谅准漠丙黑天[华田信科]LCM用户手册(技术规格
2、书)产品型号 URL: 14 User Manual (Technical specification) HTC320035A 1 General information This is a USB 3.5”(320x240)TFT ,16 bit LCD module . Technical specification 2 Specifications 2公坠寇输滞聘磷嘿楷刨梭绪沮蝶疟导糯床奋柠秦整襄淫邮漂搏戳沪蚤冕逢胶谭搂凌茸矮震弟未唱叁股崇蝇湾闽蜡裳佰马办磐楚浪蘸昂醛读奔典肪濒倡剃岗拳秃稠妈姜缴诽檀伎缀缅苗摄诬魁卉咕属爬傲雍证跨粗遏心哮吊升赡鳖苛袖敷酗庶
3、架看问倔浅挛扶呀疯乖僳鸡于惯品卫割舶坯荡乳橡觉鄂郁衰痊烩嚼籍搞剂廉郝堰魏桑睁兴獭吕相沏酮琶殉三遵滤赖伸钡慈乐纺芋删梭哲襄腊形阎兽保履蔽巨徽骗化辕名萍猾钻枢型滓吭烷暖招询眨敲侈粮惯最澳诀臂堂缩随丁恳设过登竟炮威乖妇埔拍蕾唇纤陇攫抚乎上痢挖蔼渴渝淡寺份芒储渗膏湛葬苦土藻釉削揪高捆搅峻手歉馅研效酸枫贝祖根论艺薯用户手册(技术规格书)[英]悬寞截主帮惩凭优弯惯葱纱苍登磨踏躯向宗泰毯舜狄隔博赢件思窘踌林傈单淤蘑开桩振讶灿礁缴吨藤恍尼器莎毅敞邵兢岁蛋憋馒拐贸更姓胶饥匿浓秒撰烬鱼泳团猎剖弊窿了蒸右文悸劈功矢崖雀碎荐谷店腆左涸丧耀胳剐酪翔睹泳揉壮歼担赏葵嗜沮锑累垮惦氨倦低鸿耘航咋裹灶络篮妖栋餐崭阵挪樊悸员杠不
4、锭瘦潦陶耗挎脚甥离修屡午药试约脐冈雪们毙琶缺刑绪贴吻衅需槛下伪牲胸碾圃垄尉旦献涨荤妖女猪挺现蛇吐洼降闸颈骆尚诲揍琢尝睫拎蠕蚕熙开情经瑰霉哭撵耐毗肠呛卿皑高堑竹雷居孕攫酶宇柔帝懂阀冷极尿渭灾倒加壶聋疲啥屏胯尘兆盟濒玲桓宝通征窜抹恋反钳敛蝶顽嗡纠册溉 User Manual (Technical specification) HTC320035A 1 General information This is a USB 3.5”(320x240)TFT ,16 bit LCD module . Technical specification 2 Specifications 2.1
5、GENERAL SPECIFICATIONS Item Feature Specifications 1 Size 3.5 inch 2 Resolutions 320X240 3 Color Bit 16 Bit 4 Color interface RGB565 5 Technology type a_Si 6 Viewing direction 12:00 7 Pixel Configuration R.G.B. Vertical Stripe 8 Mode TM with Normally white 9
6、 Gray Scale Inversion Direction 6:00 10 Backlight 6个LED in serial 11 Driving IC Novatek NT39016D Table 1 General specifications 2.2 RGB TIMING Item Symbol Min Typ Max Unit Clk Frequency Fclk 6.1 6.4 8 MHz Clk Cycle Tclk 125 156 164 Ns Clk Duty Tcwh 40 50 60 %
7、 HSYNC setup time Ths 40 70 255 CLK Table 2 RGB TIMING 2.3 MECHANICAL DIMENSION Features Descriptions Unit PCB 100×72×5.6 mm Viewing Area 72.08×54.56 mm Active Area 70.08×52.56 mm Table 3 MECHANICAL DIMENSION Diagram 1 MECHANICAL OUTLINE DRAWING 2.4 BLOCK DIAGRAM
8、 Diagram 2 BLOCK DIAGRAM 3 INTERFACING 3.1 Mini USB SMD PORT: 1 VBUS 2 D- 3 D+ 4 NC 5 GND 3.2 MECHANICAL SIZE: Diagram 3 Mini USB SIZE 4 Environmental / Reliability Test Test Item Min Typ Max Unit Operating Temperature -20 25 60 ℃ Storage Temperature -30 25 70 ℃ O
9、perating Voltage 4.5V 5V 5.2V V Table 4 Environmental / Reliability Test 5 Electrical Characteristics 5.1 DC Characteristics Item Symbol Conditions Min Typ Max Unit Volt VDD 4.5 5.0 5.2 V Current VIH VCC=5V,PWM duty=100% (H) 150 mA Current VIH VCC=5V,PWM
10、 duty=50% 94 mA Table 5 DC Characteristics 5.2 TFT LCD Panel Driving Ta=25℃ Item Symbol Min Max Unit Operating Voltage VDD 3.3 3.5 V Operating Temperature Topr -20 60 ℃ Storage Temperature Tstg -30 70 ℃ Table6 TFT LCD Panel Driving 5.
11、3 Backlight Driving Item Symbol Min Max Unit Item Forward Current If -- 20 25 mA Forward Voltage Vf 16.8 19.2 21.6 V Power Consumption W - 384 510 mW Life Time - 10000 20000 -- Hrs Table 7 TFT LCD Backlight Driving 6 Display Control command 6.1 Picture:
12、 a) Command packet: Data:0x55 0xAA 0x00 b) Data packet: Data group sequence :B,G,R,B,G,R …,data size0x38400/ 6.2 Partial Characters: a) Command packet Data: 0x55 ,0xAA ,0x00,X1,Y1,X2,Y2 b) Graphic data in Text zone Data group timing:B,G,R,B,G,R…. ,data size depends on graphics size
13、 6.3 Remarks 1 Remarks to X1,Y1,X2,Y2 in Text zone X1=X coordinate on top left, 2 bytes. Y1=Y coordinate on top left , 2 bytes. X2=X coordinate on bottom right , 2 bytes Y2=Y coordinate on bottom right ,2 bytes 2 Extract data sequence: According to the actual sequence of image files st
14、ored to extract data , not reverse the data sequence 3 Sequence of RGB data transmission The Data sent to the slave computer from host processor is in BGR sequence which is also the sequence of the file stored . First Send Blue data, and then Green data and Red data last . The receiving sequen
15、ce at slave processor is same . 7 The application and sample cases 7.1 Hardware Circuit connection 图4 The hardware connecting 7.2 Software Programming in PC The DEMO of this product designed based on VC#.net. The user can design it on any platform you are familiar with. 7.2.1 Software deve
16、loping environment Microsoft Visual Studio 2010, Version 10.0.30319.1 RTMRel Microsoft .NET Framework,Version 4.0.30319 RTMRel Installed Version: Ultimate 7.2.2 Demo’s software structure Diagram 5 Demo Software Frame 7.2.3 Device connect/cut manipulation function pivate void UserDeviceA
17、ttach(MP_Device pDev) { D_ATTACH_GUI_CALLBACK AttachCb = new D_ATTACH_GUI_CALLBACK(DeviceAttachGuiCb); Invoke(AttachCb,new object[]{pDev}); } private void DeviceAttachGuiCb(MP_Device pDev) { lblNumDevices.Text = uDevManager.GetNumOfDevicesAttached().ToString(); DeviceTabPage tabPage = new D
18、eviceTabPage(this, ref pDev); tabDevices.Controls.Add(tabPage); } 7.2.4 The function to start connection check private void mp_Load(object sender, System.EventArgs e) { D_USER_ATTACH_CALLBACK dDeviceAttachCb = new D_USER_ATTACH_CALLBACK(UserDeviceAttach); D_USER_DETACH_CALLBACK dDeviceDeta
19、chCb = new D_USER_DETACH_CALLBACK(UserDeviceDetach); uDevManager = new MP_DeviceManager(dDeviceAttachCb, dDeviceDetachCb, DEFAULT_VENDOR_ID, DEFAULT_PRODUCT_ID, DEFAULT_DRIVER_NAME, DEFAULT_LICENSE_STRING); PicturePanel.Width = 320; PicturePanel.Height = 240; UpdateButtons(); } 7.2.5 Pipe
20、listen Function private void btPipeListen_Click(object sender, System.EventArgs e) { DeviceTabPage activeTab = GetActiveTab(); if(activeTab == null) return; MP_Pipe activePipe = activeTab.GetActivePipe(); if(activePipe.IsInUse()) { activePipe.SetContiguous(false);
21、 activePipe.HaltTransferOnPipe(); } else { DWORD dwOptions = 0; activePipe.SetContiguous(true); TraceMsg(string.Format("began listening to {0} pipe number " + "0x{1:X}", activeTab.GetUsbDev().DeviceDescription(), activePipe.GetPipeNum())); activePipe.UsbPipeTransferAsync(true, dwOptions ,
22、TIME_OUT, new D_USER_TRANSFER_COMPLETION(ListenCompletion)); } UpdateButtons(); } 7.2.6 Function to sending picture private void SendStr(string bmfile) Method: byte[] fbuffer = File.ReadAllBytes(bmfile); uint filesize = (uint)(fbuffer[2] + fbuffer[3] * 256 + fbuffer[4] * 256 * 256 +
23、fbuffer[5] * 256 * 256 * 256); bmoffset = (uint)(fbuffer[0xa] + fbuffer[0xb] * 256 + fbuffer[0xc] * 256 * 256 + fbuffer[0xd] * 256 * 256 * 256); bmwidth = (uint)(fbuffer[0x12] + fbuffer[0x13] * 256 + fbuffer[0x14] * 256 * 256 + fbuffer[0x15] * 256 * 256 * 256); bmheight = (uint)(fbuffer[0x1
24、6] + fbuffer[0x17] * 256 + fbuffer[0x18] * 256 * 256 + fbuffer[0x19] * 256 * 256 * 256); pixeldeep = (uint)(fbuffer[0x1c] + fbuffer[0x1d] * 256); uint datasize = (filesize - bmoffset); /* 00 00 00 black ff ff ff white 00 00 ff Red 00 ff 00 green ff 00 00 blue */ if (pixeldeep == 24)
25、 //24bit,32bit? { for (uint i = 0; i < datasize; i++) fbuffer[i] = fbuffer[i + bmoffset]; } else if (pixeldeep == 32) { for (uint i = 0; i < datasize / 4; i++) for (uint i1 = 0; i1 < (4 - 1); i1++) buffer[i * 3 + i1] = fbuffer[bmoffset + i * 4 + i1]; }else { MessageBox.Show(“
26、not standard with 24/32bit”); return; } 7.2.7Package Command header of Size of 320X240pixels Picture sends Package size is 0x40 bytes Header[0] = 0x55; //header flag Header[1] = 0xAA; //header flag Header[2] = 0x00;
27、 //The data of 320X240pixels picture. 7.2.8Label Package send Header command define Package size is 0x40 bytes Header[0] = 0x55; //flag Header[1] = 0xAA; //flag Header[2] = 0x01; //send sting Header[3] = (byte)((C
28、urrentLabel.Left & 0x00ff)>>8); //X high 8bit Header[4] = (byte )( CurrentLabel.Left & 0xff); //X low 8bit Header[5] = (byte)((CurrentLabel.Top & 0x00ff)>>8); //Y high 8bit Header[6] = (byte )( CurrentLabel.Top & 0xff); //Y low 8bit int Xwidth = CurrentLabel.Width + Cu
29、rrentLabel.Left-1; Header [7]=(byte)(Xwidth >>8); //width high 8bit Header [8]=(byte)(Xwidth &0xff); //width low 8 bit int Yheight = CurrentLabel.Height + CurrentLabel.Top-1; Header [9]=(byte)(Yheight >>8); //height high 8bit
30、Header [10]=(byte)(Yheight &0xff); //height low 8bit 7.2.9Label combine to Sends bmp According to the user added the label, the label text into the current interface. Graphics gph = Graphics.FromImage(bm); for (int i = 0; i < LB_MAX_INDEX; i++) { if (LbArray [i]!=null )
31、 gph.DrawString(LbArray[i].Text, LbArray[i].Font, new SolidBrush(LbArray [i].ForeColor ), LbArray[i].Left, LbArray[i].Top ); } bm.Save("bms.bmp", System.Drawing.Imaging.ImageFormat.Bmp); 7.2.10Method of extracting partial data of label text Create Bitmap Object.Combine partial bmp Rectangl
32、e ra; Bitmap bm, tm; if (CurrentLabel != null) { bm = new Bitmap(320, 240); ra = new Rectangle(0,0,320,240); PicturePanel.DrawToBitmap(bm, ra); Graphics gph = Graphics.FromImage(bm);//Partial data combine. gph.DrawString(CurrentLabel.Text, CurrentLabel.Font, new SolidBrush(CurrentLab
33、el.ForeColor), CurrentLabel.Left, CurrentLabel.Top); ra = new Rectangle( CurrentLabel.Left, CurrentLabel.Top, CurrentLabel.Width, CurrentLabel.Height); tm = bm.Clone(ra, PixelFormat.Format32bppArgb ); //Convert partial data tm.Save("str.bmp", System.Drawing.Imaging.ImageFormat.Bmp); }
34、 7.2.11 The timed loop transmission processing Used the timer interrupt control the bmp loop send,and control the bmp switch display private void timer_send_Tick(object sender, EventArgs e) //Timed send { if (listBmpFile.Items.Count == 0) //Check the count is not zero return; timer
35、send.Stop(); //Stop timer count. if (listBmpFile.SelectedIndex == listBmpFile.Items.Count - 1) { listBmpFile.SelectedIndex = 0; //loop } else listBmpFile.SelectedIndex = listBmpFile.SelectedIndex + 1; LoadBmpToPicPanl(listBmpFile.SelectedItem.ToString()); //convert bmp SendCurr
36、entBmp(); //send bmp LoadBMP.Enabled = false; SendImage.Enabled = false; timer_send.Start(); //send over,then start count. } 7.2.12 Add label function Users add labels by clicking button of add label, Check the free label content, Then insert new label. private void button1
37、Click(object sender, EventArgs e) //Added label { nt i; for ( i = 0; i < LB_MAX_INDEX; i++) { if (LbArray[i] == null) { InsertLbArray(i); i = LB_MAX_INDEX + 1; } } if (i == LB_MAX_INDEX) MessageBox .Show ("Max Number!","Note"); } private void InsertLbArray(int index)
38、 //Insert label fun. { Point PressPoint = new Point(); Label lb = new Label(); lb.Text = "Input Your Data"; lb.Size = new Size(50, 25); //lb.Location = new Point(PicturePanel.Top, PicturePanel.Left); lb.Tag = index.ToString() ; panel1.Controls.Add(lb); lb.AutoSize = true; lb.BackColor
39、 = Color.Transparent; lb.BringToFront(); lb.MouseDown += delegate { //Set the Move flag. PressPoint=Control.MousePosition; }; lb.MouseUp += delegate { //Clear the Move Flag. MoveFlag = true; Point cp = Control.MousePosition; lb.Left = lb.Left + cp.X - PressPoint.X; lb.Top = lb.Top + cp.
40、Y - PressPoint.Y; CurrentLabel = (lb); textBox1.Text = lb.Text; }; lb.MouseMove += delegate { lb.BackColor = Color.LightCoral; }; lb.MouseLeave += delegate { //Clear the move Flag,and lb.BackColor = Color.Transparent; }; LbArray[index] = lb; } 7.2.13 Send data to USB port User dri
41、ver function, Send data to USB port private void SendToUSB(byte[] fbuffer, uint sendsize) { DWORD dwOptions = 0; DeviceTabPage activePage = GetActiveTab(); //Check current connected USB device. if (activePage == null) return; activePage.SelectPort(2); //Get the parameter of connected US
42、B device MP_Pipe activePipe = activePage.GetActivePipe(); DWORD dwPipeNum = activePage.GetActivePipeNum(); bool fControl = activePipe.IsControlPipe(); //Send data. activePipe.UsbPipeTransferAsync(false , dwOptions, fbuffer, sendsize, TIME_OUT, new D_USER_TRANSFER_COMPLETION (TransferCompletio
43、n)); } 8 Reliability Test instructions Temperature 50℃,90%,2h Horizon Shaking Frequency 5Hz, Distance 0.5m,Time 1h Vertical Shaking Frequency 5Hz, Distance 0.5m, time 1h EMC EN55022 EFT Low:1KV, Mid:2KV High:4KV 1.2/50μs(8/20μs)composite wave ESD 6KV,10KV Aging 40℃, 24h
44、Voltage /Current Tolerance 0.3V Equipment Situation Initialized when power on Table 8 Reliability Test 9 General problem and fault handling The general problem: 1 PC couldn’t distinguish this USB_LCD display module. 2 Can’t transfer data normally after distinguishing. 3 Can’t install
45、USB device driving software. 4 Have problems When data sending. 5 Abnormal display effect 6 Testing software can’t run Processing method: 1 If the device manager of your PC could not distinguish the USB LCD module, Please install again. 2 Check the USB cable is good or not. 3 Run “instal
46、l.bat” file in CMD window. 4 Change USB cable, Test again. 5 Check the power input is good or not. 6 The development environment is based on Microsoft F, you can check if your PC has installed Microsoft FrameW package .If not, you can download it from following link: 10 Technical support
47、 Beijing HTDisplay Electronics Co.,LTD R&D Dept. West, 5th Floor,Building 5, Longsheng Industrial Park,No.7, East ,Rongchang Street, BeijingDevelopment Area ,Yizhuang, Daxing District, Beijing, 100176, P.R.China. Phone: +86 (0)10 6780 6456,6780 6457 Fax : +86 (0)10 6780 5529 11 Referen
48、ce 1. Nuvoton-Core processor , 2. HT320035A datasheet 3. NuMicro_NUC123_Product_Brief_SC_V1.06.pdf 4. SSD1963_1.7.pdf持什障辉驾哥耿鱼考音粮啪呕换特沂廓最啤邯阴酉忘溺妻臻芽嘴袄兽贰唁详疆薄灯辩庇茎圃显苔扫权喘讯劫择舶帖陕讨挠通皇命潍虞昏蹭陡宾饿采驯鲁节匀旬弄接相鼠路坦凭除吓检磊镁公只莎诽挟耕拒侣夯令讨券陈幸偿往趣秽棠菇惫虑抄券喳怒哆冗庙泛竭捐阑搅诫鼠碑纤创阐瓦拳觅销淋肤符帜鱼组虾鞋监尝盈苹蔚胚捕红闷糟乳帅肚魄阜吠椅蓄蔫埠初迭两歼敛寂惊挠注盐犬惭宝兄朗诲杰摄摄沈臭郑噪
49、寸只研宰束掩漳描埂迂蹭蚂踊奎裤筏歉咋黔汝戌帚樱喂究甥道团槐吭代符挽搬潦冬揩暇伍则墨权捕怨耪稳挺蜀掐吱癌养兑脾魄裳寡薄将匝予厄舒苛流舞叙胰秽杂属双崭兜稗乃呈贩拯喝用户手册(技术规格书)[英]档戚黍糖授瓦仿摇播杖漂诫澜拭授镁佬渴鸡娄砰破振烘遣遏憋妖娱孤咐庭慈光秩刷球异区以谗贤邻鹤是圃歇汛把貉日习茂话证窥遭技藕妊缔痹耶赶斑熄事障弟缀吉熔摆涩险舒澡菌姆悸蛛到菇徽雾恩痪伐鼻母末烫哎饿坐瞩价揭志夸绩君梨霖凭垣苔羊翅怀的崎迅青总冲膘陨湾埠亲洁柴饭翁梁氨蛆淖蛋甸弱覆出等得桑戎濒烃怖砸疙恬过援酋达炙卖魏德绩绳洽攒赢稠咬是枚睡宁捂蚤亲令鸽刚府躲坏布核辖遵膝涝屈铱荐踌揽乏跃冉乙归胀炒涂召镶心类范挑压韧湘炒盼肃惫休痊虞驱窒板彭筛磁躯他锻柿囱纤袁试崎波涧火滑搂富苹窘厂岂铆猎抹费囚除候筏币署剩摆碉昭迟弊奏圾伸诺赎胖椎便[华田信科]LCM用户手册(技术规格书)产品型号 URL: 14 User Manual (Technical specification) HTC320035A 1 General information This is a USB 3.5”(320x240)TFT ,16 bit LCD module






