本篇博客主要讲解EZ-USB一些重要寄存器的配置,首先对于本篇博客所讲的内容,读者应该到官网上去下载相关的手册,其中包括<EZ-USB Technical Reference Manual>,<Dvk Users Guide>,<CY7C68013A中英文数据手册>,此外还应去Cypress官网下载一个应用笔记,如下图所示:   上面资料中<EZ-USB Technical Reference Manual>包含了需要配置的寄存器信息和一些配置信息,比较重要…
对于USB驱动的开发,读者可以使用Windows DDK.DriverStudio等多种开发工具来实现USB的驱动,但是驱动程序的开发过程都比较复杂,而且很容易致使USB主机内存泄露而死机.那么对于笔者这样喜欢做硬件的研发对软件不是很感冒的孩纸,怎么快速上手开发出USB驱动.其实很多USB芯片公司已经给很多用户提供了开发包,譬如笔者使用的Cypress公司提供的开发包可以满足广大用户的要求,这一点还是值的称道的,关于后续怎么使用这些开发包进行USB2.0驱动的开发,笔者会在后续的博客中一一写出.…
USB接口分为USB A型.USB B型.USBmini型.USBmicro型.USB3.0其中每种都有相应的插座和插头. 图1 图2 上图是USBA型接口,图1为插座,图2为插头.插座指向下行方向,插头指向上行方向. USB中一般常用有4根线,两边两根线一般为VBUS(5V的接入或接出线,对应上图中的1引脚)和GND(对应上图中的4引脚).中间两根为D+(对应上图中的3引脚),D-(对应上图中的2引脚),还有外加一个屏蔽层. 图3 图4 USB B型所对应的各信号和USB A型一致.在各种开发…
上一篇博客已经给出了整个视频板卡架构,那么对于USB接口部分需要着重理解和学习. 对于目前来说,若是利用FPGA去模拟USB2.0内核,难度还是挺大的,整个状态的收发都不好控制.现在目前都在使用桥接芯片作为一个核心控制器,内部集成USB驱动.状态控制.GPIF.FIFO等,可以轻松实现相应功能.USB2.0桥接芯片有台湾的FT232H,FT2232H,还有南京沁恒的CH372B或者CH375等,还有Cypress公司的CY7C68013,笔者打算采用CY7C68013来进行USB2.0的开发.…
    TRM手册中给出了所有的寄存器配置,在 slave fifo模式或者 GPIF模式等,所以对于用到的各种寄存器配置需要查看此手册,当然还可以配合着应用手册<AN61345>.   1.主机操作   对于USB2.0的设备来说,是不能作为主机,主动发送数据或者接收数据的,如下面的描述. 2. 方向控制    OUT意味着 主机到设备,IN是设备到主机,这里注意以下,若是工作在slave fifo模式下,FPGA与 EZ-USB通信,最后传递给上位机,应该是工作在IN模式(输入模式).  …
首先要实现对寄存器的配置,可以参考手册<Development kit  User Guide>,如下图所示: 此文件包含在 文件中.上述的应用文档详细介绍了如何利用KEIL实现对固件程序的编写. 对于USB 配置程序,下图是几个重要的模块,其中fw.c是主程序框架,periph.c文件是用户用来进行配置的主程序. 在<Development kit  User Guide>手册中,有如下描述: 手册中也有讲到,TD_init需要用户针对所用设备名称进行修改,fw.c中的程序可以不…
笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480Mbps,带宽相比USB1.0提高了不少.USB2.0的供电大功率供电可以达到500mA,实际上加上USB自身消耗,也就是在450~480mA左右. 1.USB供电 对于外部器件的供电选择,可以使用USB进行供电,也可以自供电.关于USB集线器的介绍参看另外一篇关于USB集线器的介绍. USB进行供…
其实之前也有提及过,Cypress公司提供的官方文件和应用手册真的可以解决很多问题.做的也很人性化,操作也及其简单,几乎只要在 TD_int()里面配置一些常用的参数即可,其他都可以不用操作. 作为一个常用查询手册吧!!!! 注意一点:在应用手册中<AN65209>中提及到,full和empty标志是针对所有缓冲区而言的,比如双缓冲区,out模式时,只发送一个数据包过来,这是不会使能full信号,只有当第二个数据包过来时,才会使能full信号. 还有一点需要注意的是,对于缓冲区若是设置为自动模…
在之前的博客中已经讲过,驱动程序最核心的两个文件,一个是xxx.sys文件,一个是xxx.inf文件,主机是寻找xxx.inf文件. 在下面的文件中有相关关于USB驱动的说明.对于用户来说,xxx.sys文件 可以不用修改,用户可以对xxx.inf文件的内容进行相应的修改即可. 下图是<cy_usb>应用手册的名字,可以找到下图手册,查看关于USB驱动相关的内容 下图是当前驱动支持的系统. 下图是支持的VID&PID对,且注意,如果用户修改cyUSB3.inf文件,并加入自己的VID&…
在第一次插入USB设备时(笔者用的是自己做的USB最小系统来测试),插入电脑后,在设备管理器中会显示 未知设备,如下图所示: 点击右键,选择属性,在详细信息中可以看到硬件ID以及PID等,如下图所示. 根据手册中的内容,和上述的描述是一致的,如下图所示: 那么先默认安装cypress官网上面的驱动,如下图所示: 打开cyusb3.inf文件,如下图所示: 文件中的各个内容的含义,请参考之前的博客<通用USB驱动程序解析>.保持文中的值,即是安装官方提供默认的驱动文件.   由于CY7C6801…
笔者上一篇博客讲解了关于驱动的安装,笔者使用的系统是win8.1系统,那么对于win8系统及以上系统,会对外部设备,没有在windows系统中进行签名过的,都是不允许在windows系统中进行安装的,以保证windows系统安全.如下图所示: 出现这个问题是由于cypress的芯片未经过签名,显示安装不成功.那么解决上述的办法,需要关闭win8及以上系统的禁用强制驱动签名.如下图所示: 链接:http://zhidao.baidu.com/question/1366740923411875539…
上一篇博客大概讲了一下USB通用驱动程序的解析.笔者使用Cypress官网给定的资料去完成USB驱动开发.官网资料地址:http://www.cypress.com/?rID=14321 下载如下图的文件,GPIF没有用到,所以最后一个文件可以不选择. 下载完成之后,找到CY3684Setup控件进行安装. 双击出现下个界面,点击next 上图安装类型可选,笔者选择默认,点击next. 上图必须接受,点击next. 等吧... 安装完之后的样子. 继续研究中...待续....…
配置组件是.net framework中非常常用的功能.在创建.net framework 工程时,系统不仅会自动生成app.config文件,而且还提供了非常强大的访问类库.但是这些好东西,在.net core 2.0中已经不复存在,至少说没有.net framework 中那么完美了. 在升级.net framework 程序到.net core 2.0时,如果通过.NET Portability Analyzer分析代码,会发现下面的提示,.net core:supported 2.0+,…
在对USB设备的驱动名字进行更改时,需要利用keil软件对固件进行修改,并生成 .iic 文件烧录到CY7C68013A所带的外部EEPROM中,keil生成的 .hex文件只能烧录到 Cypress的RAM中. 这个配置也是非常的简单,首先找到安装套件中的bin文件夹,找到hex2bin软件.如下图:   找到此应用软件之后,粘贴其路径,然后在工程文件夹下右键或者选择Project—>Options for Target 'Targer 1',选择Output选项,选中Run User Pro…
参考博客 http://blog.csdn.net/catoop/article/details/50848555 http://blog.csdn.net/randompeople/article/details/70500076…
转自:http://www.cnblogs.com/graphics/archive/2009/11/25/1583682.html DirectX 总结 DDS DirectXDraw Surface file format, .dds.这是微软从DirectX7开始引进的一种文件格式,它用来存储压缩的或未压缩的纹理,该格式支持mimaps cube maps和volume maps, D3DX和许多其他的DX工具都支持这种格式,比如DirectX Texture Editor(dxtex.e…
疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path                                 除域名以外的请求路径,斜杠开头                      "/hello/" request.get_host()                      主机名                              …
原文:VSTO学习笔记(五)批量编辑Excel 2010 x64 近期因为工作的需要,经常要批量处理大量的Excel文件,如果纯手工一个个修改,非常的麻烦,于是写了这么一个帮助类,希望能对你有所帮助.里面很多方法可以进一步推广,增减适当的参数,部分方法用到了C# 4.0新特性,如果需要调试,请安装Visual Studio 2010. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RC + Office 2010 Professional Plus…
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签",东西都是一样的.改变或者添加,复制出来的变量也会改变 样例: >>> a=[1,2,3] >>> b=a >>> a [1, 2, 3] >>> b [1, 2, 3] >>> a[1]=0 >>>…
Python学习笔记(五): 文件操作 另一种文件打开方式-with 作业-三级菜单高大上版 1. 知识点 能调用方法的一定是对象 涉及文件的三个过程:打开-操作-关闭 python3中一个汉字就是一个字符 2. 文件操作 模式: 读 r(光标默认在开始) 写 w(先清空) 追加a(光标默认在最后) 读写r+(光标默认在开始) 写读w+(先清空) 追加读a+(光标默认在最后) 读文件 file = open('1.txt','r',encoding='utf8') #打开为文件 data = f…
.NET MVC 学习笔记(五)—— Data Validation 在实际应用中,我们需要对数据进行增查改删业务,在添加和修改过程中,无论你编写什么样的网页程序,都需要对用户的数据进行验证,以确数据的有效性和完整性.目前我们可以使用Bootstrap Validation对画面进行前端验证,我们先来看一下这种验证方式. 一.Bootstrap Validation 使用方式: 1. 引用js库 <link href="~/bower_components/bootstrap-valida…
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),print(string,end='') Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串split()方法语法:str.split(str="", num=string.count(str)).参数str -- 分隔符,默认为空格…
### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的所有实体将被跟踪,并标记为Added SaveChage 将试图将所有实体插入数据库,即使数据库中已存在该实体 Attach Root 所有实体将被跟踪并标记为Unchanged 新添加的实体将不会被插入数据库,并容易造成主键冲突 Add or Attach Root,then paint stat…
mybatis学习笔记(五):mybatis 逆向工程 在日常开发中,如果数据库中存在多张表,自己手动创建 多个pojo 类和编写 SQL 语法配置文件,未免太过繁琐,mybatis 也提供了一键式生成这些文件的操作,我们称为 mybatis 逆向工程.一般我们在开发中采用由数据库的表生成java代码. mybatis 逆向工程的下载 贴上官网链接:Mybatis Generator 当然对于 jar 包的下载,我们可以直接使用 maven 导入: <dependency> <group…
由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就能学的哦,毕竟Aurora还是属于FPGA的一种高速协议了. 如果你还是FPGA小白,建议你还是踏踏实实的看Kevin的SDRAM视频教程吧,别没学会走就想着跑了. SDRAM视频相关资料链接在博客的微课堂页面:FPGA微课堂 好了,不多说,直接步入正题. 这套连载学习笔记,以 ISE 14.7 为…
UFLDL深度学习笔记 (五)自编码线性解码器 1. 基本问题 在第一篇 UFLDL深度学习笔记 (一)基本知识与稀疏自编码中讨论了激活函数为\(sigmoid\)函数的系数自编码网络,本文要讨论"UFLDL 线性解码器",区别在于输出层去掉了\(sigmoid\),将计算值\(z\)直接作为输出.线性输出的原因是为了避免对输入范围的缩放: S 型激励函数输出范围是 [0,1],当$ f(z^{(3)}) $采用该激励函数时,就要对输入限制或缩放,使其位于 [0,1] 范围中.一些数据…
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学习笔记(五)合并 concat Pandas学习笔记(六)合并 merge Pandas学习笔记(七)plot画图 原文:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/3-6-pd-concat/ 本文有删改 Concat pa…
Web安全攻防 渗透测试实战指南   学习笔记 (五)   第四章 Web安全原理解析  (一) (一)SQL注入的原理 1.web应用程序对用户输入数据的合法性没有判断. 2.参数用户可控:前端传给后端的参数内容是用户可以控制的. 3.参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询. 举个栗子:   and = 当1=1为真,且where语句中id也为真,页面会返回与id=1相同的结果. 当传入的id参数为and 1=2时,由于1=2为假,所以页面就会返回与id=1不同的结果…
opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <iostream> #include <cv.h> #include <highgui.h> using namespace std; using namespace cv; void hMirrorTrans(const Mat &src, Mat &dst) { C…
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity…