博文

[置顶] 三星ARM11,S3C6410开发板最大能支持几寸液晶屏?如何实现?(2011-01-08 14:27:00)

摘要: 采用立宇泰电子的ARMSYS6410开发板为例,接上一个专门的LCD接口转VGA输出视频卡 ,即可实现转换功能,支持的液晶屏跟尺寸没有多大关系,只要以下几点参数要求达到就可以了。关于ARMSYS6410开发板的相关介绍大家可以参考:http://www.hzlitai.com.cn/S3C6410.html。
    现在我们来讲一下LCD接口转VGA输出视频卡的相关性能。  
    LCD接口转VGA输出视频卡(简称LCD2VGA)是一款以FPGA 做为桥接芯片,集成高效显存技术的视频转换卡。不同于简易的D/A转换模式,LCD2VGA上的FPGA能够自动将LCD接口提供的刷新频率提高到CRT显示器所需要的高刷新频率,解决了简易的D/A转换模式下屏幕闪动的问题。
    带有LCD控制器的CPU 通过此视频卡,可以驱动带VGA 接口的液晶显示器或CRT 显示器。LCD2VGA能够支持16bppTFT(真彩)型数字LCD接口向VGA接口的转换,兼容640×480、800×600、1024×768三种分辨率,支持输出60Hz刷新率;其工作方式和工作时序与TFT(真彩)LCD 完全一样。
    LCD2VGA信号输入接口全部采用抗干扰逻辑设计和防尖峰电压电路设计,视频卡最突出的优点在于它能同时兼容并灵活切换支持多种分辨率和刷新率,只需在断电或开机状态下切换SW2 编码开关即可。     可以为远程客户提供DV拍摄的演示文件来展示本产品的的稳定显示性能和视频播放(非全屏)性能!
   该产品适合用于人机接口、工控仪表、查询机、数据采集终端等应用领域。   安装LCD2VGA时: 采用50pin排线将JP2连接到开发板的LCD接口; 采用VGA电缆线将JP6连接到VGA接口; SW2拨动到需要的配置。   对开发板和显示器分别连接好电源,开启开发板,系统界面就会显示在显示器上。例如,将LCD2VGA连接到运行WINCE5.0的ARMSY......

阅读全文(3774) | 评论:10

[置顶] 祝贺立宇泰LDM7084T成功应用于全自动电脑横机、纺织服装自动化(2010-11-06 10:30:00)

摘要: 全自动电脑横机是针织行业中技术含量较高的机械, 该产品采用了立宇泰电子的LDM7084T作为人机界面跟控制系统部分,通过USB接口进行上位机跟控制系统的数据交换,核心控制系统通过CAN总线接口将命令发送到执行系统(一般是DSP),DSP接到命令后判断无误即开始执行指令,完成产品花样的针织。目前,LDM7084T产品已经大批量应用于全自动电脑横机中。          LDM7084T是一款立宇泰应客户要求定制和生产的产品。客户首先在立宇泰LDM系列工业平板电脑产品样机上做了初步评估测试,然后根据自身应用需要,向立宇泰提出在现有产品基础上,添加“CAN总线接口”,以实现工业现场中,更加稳定可靠的上下位机通讯连接。此外,客户还指定采用7英寸触摸屏作人机交互界面,并修改电路板的工艺尺寸,方便安装在机械设备中;添加一些实用的现场设备功能,例如掉电检测功能,解决掉电造成系统中断的问题,确保后续工作的连续性;硬件加密防止盗版功能,有效杜绝软硬件被盗版模仿情况的出现等。          立宇泰应客户需求,立即启动了“快速响应的研发定制服务”,在3个月时间内完成了CAN接口软硬件添加、掉电检测和加密功能、新电路板制作和调试、与客户软件协同调试、解决各种实际应用问题,并进行了小批量试生产和稳定性测试工作。          在这些前期工作都得到客户的验收和认可的前提下,这款产品迅速投入了批量生产。从而客户得以快速地将新型产品推向市场、占领全自动电脑横机市场份额。到目前为止,该产品在实际使用中、工作运行稳定,可靠,客户反应良好! ......

阅读全文(3000) | 评论:2

[置顶] 【推荐】从立宇泰ARMSYS6410核心板说起(2009-11-09 11:51:00)

摘要:这块小巧的核心板就放在我的手边,每次看到它就有种莫名的喜爱,也许这就是一个硬件工程师看到它的感觉,小巧、精致、却功能强大的电路板,插上它整个设备的心脏就开始跳动了...       就是这样一块核心板,0.5mm脚间,0.3mm锡珠直径,424-pin的FBGA封装,266MHz总线速度,667MHz主频,我们仅做了一个版本的PCB就完成了它的设计!当然,这是由于前面花了将近1个月(足够做2个版本)的时间来研究设计各种layout方案,最终所有的努力都没有白费,结果非常令人满意,合理的设计,让SMT流程也很顺利。板子贴好之后,开始我们谨慎地从533开始跑,然后提高到667,完全没有问题,在各种测试下,都表明了它的稳定和可靠。       作为整个系统的心脏,压倒一切的就是稳定,因此,我们确定了采用较昂贵的8层板,这使得layout的时候,我们有可能把所有的敏感信号做最好的处理;因此它的抗干扰性能绝对超过所有6层板的设计。       ARMSYS6410核心板是一个经典的S3C6410最小系统,它充分考虑到用户的方便性,把CPU和存储器所需要的繁多的电源都集中在上面,用户如果自己做底板,仅需要提供3.3V和5V电源;除电源外,就是把复位和启动设置提供给核心板就可以了。复位电路交给底板自由设计,无论客户是需要手动复位或上电复位,都是OK的。mDDR和Nandflash的电路设计也充分考虑到了可扩展性,能够支持不同容量的存储器芯片,包括兼容SLC和MLC的Nandflash。核心板的接口除了和ARMSYS6410的底板配套之外,设计上已经把S3C6410的资源全部引出,不用担心“埋没”了任何资源。       小巧和紧凑的尺寸设计使得这款核心板即使放在手持设备中也并不显得过大,这对于很多应用,包括便携式设备的评估都是非常方便的。       现在这款核心把已经用于某款便携式产品的设计了,客户对它也很满意,当然我们还要继续关注它的情况,我们需要了解它的问题,并不断做得更好。    &n......

阅读全文(3076) | 评论:3

S3C2440A处理器中文数据手册下载(2013-11-14 09:28:00)

摘要:较为完整的S3C2440A处理器中文手册压缩包,请点击下载:


s3c2440中文数据手册.rar
......

阅读全文(1868) | 评论:1

Android HAL 开发 (5)(2012-09-17 11:53:00)

摘要: 上一章介绍了直接调用Service来操作硬件的方法,如果我们再优化一下结构,通过一个Manager来调 用这个Service的方法,可能会更好。这样Service就可以跑在后台,由于这时候service和manager是 两个进程,所以只能通过IPC来进行通信。我们在上一篇看到 public final class LedService extends ILedService.Stub { }, ILedService.Stub就是 ILedService.aidl由aidl工具自动生成的类。 我们现在看看manager是如何实现的: frameworks/base/core/java/mokoid/hardware/ILedService.aidl package mokoid.hardware;
  interface ILedService {
     boolean setOn(int led);
     boolean setOff(int led);
 }
 该aidl文件最后能被aidl工具自动生成ILedService.java文件,提供了remotable的LedService可用 的接口setOn和setOff. frameworks/base/core/java/mokoid/hardware/LedManager.java public class LedManager {
     private static final String TAG = "LedManager";
     private ILedService mLedService;
      public LedManager() {
    ......

阅读全文(1812) | 评论:4

Android HAL 开发 (4)(2012-09-13 11:29:00)

摘要: 在上一篇文章中,我们看到了如果在java程序中调用C/C++撰写的函数。而且Android的service已经实 现了,下面就要看看应用程序如何调用这个service了,这里用两种方法,我们先介绍简单的第一种直 接调用方法。
apps/mokoid/apps/LedClient/src/com/mokoid/LedClient/LedClient.java package com.mokoid.LedClient;
 import com.mokoid.server.LedService;
  import android.app.Activity;
 import android.os.Bundle;
 import android.widget.TextView;
  public class LedClient extends Activity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
          // Call an API on the library.
     LedService ls = new LedService();
     ls.setOn(1);
     ls.setOff(2);
         &......

阅读全文(1748) | 评论:3

Android HAL 开发 (3)(2012-09-03 10:51:00)

摘要: 在上一篇文章中我们分析了jni的led service代码,该代码通过调用led的HAL层代码,实现了mokoid_init, mokoid_setOn, mokoid_setOff三个C/C++接口,但是该接口还无法直接提供给java程序使用,因此还需要一段java代码通过jni调用这些操作接口。
下面就介绍java led service 的实现,代码很简单。 framework/base/service/java/com/mokoid/server/LedService.java package com.mokoid.server;
  import android.util.Config;
 import android.util.Log;
 import android.content.Context;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.IBinder;
 import mokoid.hardware.ILedService;
  public final class LedService extends ILedService.Stub {
      static {
         System.load("/system/lib/libmokoid_runtime.so");
     }
      public LedService() {
      &nbs......

阅读全文(1906) | 评论:2

Android HAL 开发 (2)(2012-08-24 10:12:00)

摘要: 在上一篇文章中,我们看到了如何撰写HAL层的用户硬件驱动程序,我们每也知道,最终该代码会被编译成动态链接库提供给service(jni)使用,那么我们下面来看看service(jni)是如何与HAL通信的。
一般service的jni代码位于framework/base/service/jni/中,我们看看mokoid的ledservice是如何实现的:   framework/base/service/jni/com_mokoid_server_LedService.cpp static const JNINativeMethod gMethods[] = { 
   { "_init",      "()Z",  (void *)mokoid_init },  
   { "_set_on",        "(I)Z", (void *)mokoid_setOn },
   { "_set_off",       "(I)Z", (void *)mokoid_setOff },
 };
  int register_mokoid_server_LedService(JNIEnv* env){
     static const char* const kClassName =
         "com/mokoid/server/LedService";
     jclass clazz;
     /* look up the class */
&nb......

阅读全文(1839) | 评论:3

Android HAL 开发 (1)(2012-08-03 16:36:00)

摘要:最近开始看Android的HAL开发方面的东东,发现现在国内研究这个的并不多,来自台湾的Jollen可能是走在Android HAL研究的最前沿,这也和他以前专注做嵌入式linux(openmoko)的工作经历有关,毕竟Android的application开发是基于Java的,而之前Jollen做的更多的还是C/C++开发,因此选择从HAL作为进入Android的shortcut还是很明智的,我以前也主要是做linux kernel以及基于C/C++的app开发,现在转作Android,发现它的HAL比较有意思,也是可以研究的一个很好的方向。 由于自己并没有参加Jollen的HAL整合培训,不过手头有这个培训的材料,以及从 http://code.google.com/p/mokoid/ 下载了mokoid 工程的代码,花了一段时间研究了Android的HAL,也有一些心得,下面总结一下: 首先,Android的HAL是为了一些硬件提供商提出的“保护proprietary”的驱动程序而产生的东东,简而言之,就是为了避开linux kernel的GPL license的束缚。Android把控制硬件的动作都放到了user space中,而再kernel driver里面只有最简单的读写寄存器的操作,而完全去掉了各种功能性的操作(比如控制逻辑等),这些能够体现硬件特性的操作都放到了Android的HAL层,而Android是基于Aparch的license,因此硬件厂商可以只提供二进制代码,所以说Android只是一个开放的平台,并不是一个开源的平台。 然后,Android的HAL的实现需要通过JNI(Java Native Interface),JNI简单来说就是java程序可以调用C/C++写的动态链接库,这样的话,HAL可以使用C/C++语言编写,效率更高。而Android的app可以直接调用.so,也可以通过app->app_manager->service(java)->service(jni)->HAL来调用。第二种方法看上去很复杂,但是更加符合android的框架结构。我这里也着重介绍第二种方法。基本的框架如下所示:    Mokiod......

阅读全文(1580) | 评论:3

立宇泰正式推出ARMSYSV210-CORE核心板(2011-11-21 14:27:00)

摘要:   ARMSYSV210-CORE核心板,采用ARM Cortex-A8三星S5PV210处理器设计,采用10层板工艺,处理器稳定的工作于1G主频之上(DDR2数据和CLK信号达400MHz)。160个引出脚,采用邮票脚方式引出,充分的扩展S5PV210资源的同时,特别适合便携式或对体积要求较高的设备采用。目前这款核心板已经批量应用于平板电脑等产品上。
  
                  
  
  硬件资源:
  CPU:Samsung S5PV210处理器,ARM Cortex-A8内核,1GHz系统频率;
  Flash Memory:采用4GB TF ,最大可支持32GB容量;
  DDR2:512MB DDR2 SRAM内存,数据和CLK信号400MHz;
  时钟晶振:24MHz系统外部时钟源;32.768KHz的RTC时钟源;27MHz的HDMI时钟源;24MHz的USB OTG时钟源;
  核心板接口:采用邮票脚的方式,结构紧凑,适用面广,可用于手持设备等对空间要求比较高的场合;
  要求输入电压:3.3V、1.1V、5V(或3.3~4.2V)。
  
  尺寸规格:
  
  
  
  长x 宽x 高度:50X50X2.8 单位:mm
  
  
  
  更多详情请见立宇泰官方网站:http://www.hzlitai.com.cn/product/ARM/arm9/ARMSYSV210-CORE.html  ......

阅读全文(1956) | 评论:0