简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, 16GB SDHC卡(闪迪),7" 液晶显示器(可选). 开明的心,顽强的毅力,不言败的精神. 贴士 这本教程难度略高,综合能力不好的朋友请先用<概念篇>与<驱动篇I>垫底. 目录 Experiment 01:硬件的魔术秀 Experiment 02:文件系统 - 初始化 E…
简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, 16GB SDHC卡(闪迪),7" 液晶显示器(可选). 开明的心,坚持的毅力. 贴士 这本教程难度略高,综合能力不好的朋友请先用<概念篇>与<驱动篇I>垫底. 目录 FILE 01:扩展的初衷 FILE 02:细胞模块与细胞库的扩展 FILE 03:接口任务与功能库的扩展…
简介 一本为入门图像处理的入门书,另外还教你徒手搭建平台(片上系统),内容请看目录. 注意 为了达到最好的实验的结果,请准备以下硬件. AX301开发板, OV7670摄像模块, VGA接口显示器, 7" 液晶显示器(可选). 开明的心,顽强的毅力,不言败的精神. 贴士 这本教程难度略高,综合能力不好的朋友请先用<概念篇>与<驱动篇I>垫底. 目录 Experiment 01:SDRAM基础模块 - 基础原理 Experiment 02:SDRAM基础模块 - 图像储存模…
简介 一本为完善<设计篇>的书,教你CORDIC算法以及定点数等,内容请看目录. 贴士 这本教程难度略高,请先用<时序篇>垫底. 目录 Experiment 01:认识CORDIC算法 Experiment 02:CORDIC算法的原理 Experiment 03:CORDIC算法简化① Experiment 04:CORDIC算法简化② Experiment 05:CORDIC算法建模 Experiment 06:线性函数 -- multiply() Experiment 07:…
前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例如UART,VGA等,但是<驱动篇I>贵就贵在建模技巧的升华,亦即低级建模II. 话说低级建模II,读过<建模篇>的朋友多少也会面熟几分,因为它是低级建模的进化形态.许久以前,笔者就有点燃低级建模II的念头,但是懒惰的性格让笔者别扭许久.某天,老大忽然说道:"让咱们大干一场吧…
实验十一:PS/2模块⑤ — 扩展鼠标 当普通鼠标即三键鼠标再也无法满足需求的时候,扩展鼠标即滚轮鼠标就诞生了,然而实验十一的实验目的就是实现滚轮鼠标的驱动.不过,进入整体之前,先让我们来了解一下鼠标的常用命令. 图11.1 命令F3,设置采样频率. 命令F3也是Set Sample Rate,主要是用来设置采集频率.笔者曾经说过,采集频率就是鼠标采集按键状况还有位置状况的间隔时间,默认下是100次/秒.如图11.1所示,FPGA先发送命令数据8’hF3,事后鼠标会反馈8’hFA以示接收成功,余…
前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例如UART,VGA等,但是<驱动篇I>贵就贵在建模技巧的升华,亦即低级建模II. 话说低级建模II,读过<建模篇>的朋友多少也会面熟几分,因为它是低级建模的进化形态.许久以前,笔者就有点燃低级建模II的念头,但是懒惰的性格让笔者别扭许久.某天,老大忽然说道:"让咱们大干一场吧…
实验二:按键模块① - 消抖 按键消抖实验可谓是经典中的经典,按键消抖实验虽曾在<建模篇>出现过,而且还惹来一堆麻烦.事实上,笔者这是在刁难各位同学,好让对方的惯性思维短路一下,但是惨遭口水攻击 ... 面对它,笔者宛如被甩的男人,对它又爱又恨.不管怎么样,如今 I'll be back,笔者再也不会重复一样的悲剧. 按键消抖说傻不傻说难不难.所谓傻,它因为原理不仅简单(就是延迟几下下而已),而且顺序语言(C语言)也有无数不尽的例子.所谓难,那是因为人们很难从单片机的思维跳出来 ... 此外,…
实验七:PS/2模块① — 键盘 实验七依然也是熟烂的PS/2键盘.相较<建模篇>的PS/2键盘实验,实验七实除了实现基本的驱动以外,我们还要深入解PS/2时序,还有PS/2键盘的行为.不过,为了节省珍贵的页数,怒笔者不再重复有关PS/2的基础内容,那些不晓得的读者请复习<建模篇>或者自行谷歌一下. 市场上常见的键盘都是应用第二套扫描码,各种扫描码如图7.2所示.<建模篇>之际,笔者也只是擦边一下PS/2键盘,简单读取单字节通码与断码而已.所谓单字节通码,就是有效的按下…
实验十:PS/2模块④ - 普通鼠标 学习PS/2键盘以后,接下来就要学习 PS/2 鼠标.PS/2鼠标相较PS/2键盘,驱动难度稍微高了一点点,因为FPGA(从机)不仅仅是从PS/2鼠标哪里读取数据,FPGA还要往鼠标里写数据 ... 反之,FPGA只要对PS/2键盘读取数据即可.然而,最伤脑筋的地方就在于PS/2传输协议有奇怪的写时序. 图10.1 从机视角,从机读数据. 为了方便理解,余下我们经由从机的视角去观察PS/2的读写时序.图10.1是从机视角的读时序,从机都是皆由 PS2_CLK…