关闭

DM9000的寄存器介绍

DM9000(A)是一个全集成、功能强大、性价比高的快速以太网MAC控制器,它带有一个通 用处理器接口、EEPROM接口、10/100 PHY和16KB的SRAM(13KB作为接收FIFO,3KB作为发送FIFO)。它采用单电源供电,可兼容3.3V、5V的IO接口电平。     DM9000(A)同样支持MII(Media Independent Interface 介质无关)接口,连接到HPN...
阅读(644) 评论(0)

s3c2440之ADC 触摸屏操作

原理: 8通道的AD输入,转换为10位的二进制数据。在2.5MHZ的最大A/D转换时钟下,可以达到500KSPS。 2440的XP XM YP YM直接和触摸屏直接相连。ADC和触摸屏接口公用一个A/D转换器。 触摸屏接口模式: 1.     正常转换模式,就是普通的AD转换,通过读写ADCDAT0即可。 2.     分离的X/Y位置转换模式。X位置写往ADCDAT0,Y位置写往A...
阅读(1117) 评论(0)

S3C42440之LCD操作

基本操作: 本文只涉及到TFT屏的操作。控制器重要的时钟信号,VCLK为最基本的像素时钟信号,VSYNC为刷新频率,也称为场频,HSYNC为行频。板子上是4.3寸的TFT屏。 结合上面的图可以得知,场率即刷新频率典型值为60HZ,不得超90HZ。像素时钟信号VCLK典型9MHZ,不超15MHZ。 VCLK=HCLK/[(CLKVAL+1)*2],若HCLK=100MHZ,...
阅读(936) 评论(0)

S3C2440之简易播放器设计(利用DMA与IIS通信)

利用前一篇文章讲解的IIS知识,只是不是利用轮询,而是利用DMA控制器,让数据在内存和IIS的发送FIFO之间传送。这样在音乐播放过程中,进行暂停,静音,播放,音量增减都不会使音乐产生卡顿的感觉。 注意DMA的请求是由发送FIFO自动发起的。 可以设置DMAMSKTRIG的STOP位停止DMA,但是真正的停止需要参考ON_OFF位。ON_OFF位当为非自动重载,且CURR_TC为0,该位自动为...
阅读(1461) 评论(0)

S3C2440之IIS操作---MDK4.22,可烧写在NANDFLASH和NORFLASH运行

IIS基本原理: 由图可知,有发送器,也有接收器,发送器和接收器都可以作为控制器。谁发出WS和SCK,谁就是控制器。 SCK为IIS串行数据的位时钟,WS为声道切换时钟,WS的频率等于采样频率fs。SCK频率=WS*每个数据的位数*通道数。 MSB先发送,由于收发对于字长的规定可以不一样,所以最终的长度需要根据实际情况而定。 2440具有64深度,且位长为16bit的FIF...
阅读(2448) 评论(0)

基于OHCI协议的S3C2440 USB Host Driver之协议介绍(四)

HCCA HCCA是256字节的内存结构,系统软件用来与HC发送或接受特殊控制和状态信息。256字节对齐。HC寄存器中的HcHCCA指向HCCA。 HccaInterruptTable为32个周期表的头指针数组。每帧HC仅访问该表一次。当前帧号的低5位用来索引。 HccaFramNumber HC每帧会更新该16位的值。在新帧,HC发SOF后,HC读一个ED开始处理之前,该值写为Hc...
阅读(1848) 评论(2)

基于OHCI协议的S3C2440 USB Host Driver之协议介绍(三)

OpenHCI通过两级仲裁在端点中选择哪一个服务。第一级是表级。每一个需要服务的端点类型在相应的类型表里。HC选择服务哪一个表。而在表内,端点都有差不多公平的机会被访问到。HCD通知设置HcPeriodicStart限制从帧开始到开始要服务周期表的时间。周期表服务时,当前帧下,中断表优先于同步表。当周期表服务完,控制和批量有可能会接着服务。 ED作为锚点,供一列TD依附在其上。当HC访问ED且找...
阅读(2303) 评论(0)

基于OHCI协议的S3C2440 USB Host Driver之协议介绍(二)

HCD的职责: 1.HCD负责HC的操作。 HCD可以直接与HC的可操作寄存器通信,且在HCCA中建立中断ED表头指针。HCD维护HC的状态,表处理指针,表处理使能,中断使能。 2.带宽分配。 HCD负责对USB访问进行调度。HCD给每一个周期端点分配一定可用的带宽。如果没有足够的带宽可用,一个新连接的周期端点不允许访问总线。 一部分带宽分给非周期传输。这会确保在每帧里一定量的批量和控制...
阅读(1622) 评论(0)

基于OHCI协议的S3C2440 USB Host Driver之协议介绍(一)

什么是OHCI USB协议规定为四种传输类型--中断传输、控制传输、同步传输、批量传输。这里分为2种,周期传输和非周期传输。周期传输包括中断传输和同步传输,这是因为周期传输是要在1帧里的一段时间里必须进行的;非周期传输包括批量和控制传输,它们只要带宽空闲就可以传输。 在HC与HCD之间有2条通信渠道:第一条是在HC里的可操作寄存器;第二条是HCCA。 数据结构有2种:ED和TD HCD...
阅读(1908) 评论(0)

S3C2440在MDK4.22下使用printf向串口打印调试

背景知识: 串口的基本知识已经在上一篇讲过了。这里重点讲解如何在MDK4.22下使用printf函数,这样的话就可以很方便的打印调试信息,追踪。 这个知识来源于MDK自带的帮助手册。有现成的代码提供。 实现方式有2种,使用标准C库下裁剪合适的函数,使用微库C下裁剪合适的函数。 微库下的情况,在魔术棒那里要勾选上使用微库。然后需要定义如下结构和改写如下函数--FILE stdout fput...
阅读(1978) 评论(0)

S3C2440之UART操作(FIFO模式)

背景知识: 由于UART的波特率设置与时钟有关,此文设置FCLK:HCLK:PCLK=1 : 2 : 4,FCLK=200MHZ,遂先介绍时钟的设置。 通常认为上电复位后PLL是不稳定的。因此在软件重新配置PLLCON之前Fin代替MPLL直接供给Fclk。即便用户不希望复位之后改变PLLCON的数值,用户还是要用软件写入相同的数值到PLLCON寄存器中。 按照MDK4.22中启动代码的...
阅读(3205) 评论(2)

S3C2440之中断操作(MDK4.22)

背景知识: 2440中断控制器接收60个中断源。 中断被分为多种类别,此处为32类别,正好用32位。 图上可以很好的表示整个中断的流程。有些中断源对应一个中断类别,比如串口中断发送,接收最后都对应到串口中断。submask屏蔽子类别,未屏蔽的会引起srcpnd相应位置位,如果mask未屏蔽的话,就会紧接着判断优先级,最后导致intpnd置位,然后产生了IRQ,而FIQ...
阅读(1956) 评论(1)

realview MDK4.22之startup文件--S3C2440A.S详解(本身有错误,已经修改)

;/*****************************************************************************/ ;/* S3C2440A.S: Startup file for Samsung S3C440A                              */ ;/**********************************...
阅读(2467) 评论(4)

S3C2440开发工具realview MDK4.22之库的使用

一。与c库会强制链接 如果你写了一个c程序,必然会和c库链接,尽管你没有直接使用c库函数。这是因为编译器为了改进程序,可能隐含的产生了对c库函数调用。 即便你的程序没有main()函数,也只是说c库没变初始化而已,一些c库函数仍然可以使用并且编译器可以隐含地调用这些函数。 二。ARM的c的运行时库 c标准库由以下组成: ISO99标准库定义的所有函数。 依赖于目标的函数,用来在...
阅读(2775) 评论(0)

S3C2440之MMU操作(MDK4.22)

关于MMU知识: 1.ARM CPU上的地址转换过程涉及到了3个概念,虚拟地址VA,变换地址MVA,物理地址PA。当没有启动MMU的时候,CPU核,CACHE,MMU见到的都是PA。 启动MMU之后,CPU核对外发出VA,VA被转换为MVA,供给CACHE和MMU使用,MMU再将MVA转换为PA,最终找到真实的地址。 CPU看见的VA,CACHE和MMU看不见VA,看见的是MVA;设备只看到...
阅读(3137) 评论(1)

S3C2440开发工具realview MDK4.22使用入门

目前仍然有许多人在使用ADS1.2编译ARM9的程序,这款编译器实属经典,但是已经多年停止更新、维护了。这篇文章主要讲解ARM公司受够Keil之后力推的一款编译器MDK。 MDK的使用上和ADS1.2有很多相似之处,从ADS1.2过渡到MDK也是非常容易的一种事情。 还是无图无真相。 这是MDK打开的情形,当然我这已经是一个建立好的工程。如果一开始是空的,按图点击project-->...
阅读(6447) 评论(1)
    个人资料
    • 访问:36366次
    • 积分:541
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:1篇
    • 译文:0篇
    • 评论:11条
    文章存档
    最新评论