注:这个TD_Init()只对EP6进行了配置,将其配置成为Bluk_In端口,而没有对EP2进行配置.这篇文章直接把寄存器的图片贴上来了,看起来比较杂.感兴趣的可以看下一篇文章,是转自CSDN,对EP2和EP6都进行了配置,看起来更有条理.这个博客只对自己理解CY7C68013的配置有一定的帮助,对于配置CY7C68013,使其与FPGA通信,还是官方给的文档AN61345以及附件代码更详细直观. void TD_Init(void) { CPUCS = ((CPUCS & ~bmCLKSPD…
转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html CY7C68013含有4个大端点,可以用来处理数据量较大的传输,如数据采集.视频等方面的应用.每个大端点都可以独立配置对应的FIFO,同时,也提供了相应的标志位,分别是FLAGA.FLAGB.FLAGC.FLAGD.这四个标志位彼此独立,可以分别指示4个大端点FIFO的状态,如非空.满等状态,为我们编程带来方便. 这4个标志位的配置,是由两个8位寄存器来设定的,…
此博客转自CSDN:http://blog.csdn.net/xx116213/article/details/50535682 这个博客只对自己理解CY7C68013的配置有一定的帮助,对于配置CY7C68013,使其与FPGA通信,还是官方给的文档AN61345以及附件代码更详细直观. 1 USB 概述 USB名称解释 USB是通用串行总线(Universal Serial Bus)的缩写.能过在计算机运行过程中随意地接入,并且立刻就能投入工作,那么这样的特性叫做即插即用PnP(Plug a…
Cy7c68013A驱动电路设计注意事项 转自:http://group.chinaaet.com/116/79029#0-tsina-1-71467-397232819ff9a47a7b7e80a40613cfe1 CY7C68013的驱动电路非常简单,除了提供24MHz时钟源,设计好USB差分接口,做好电源滤波,其他信号均可由数字控制.这里简单的对Bingo设计CV7C68013A-56PVXC驱动电路进行介绍,如下所示: (1)首先,USB差分电路设计的好坏,决定了实际能运行的速率. 采用…
Cy7c68013固件之Slave FIFO 转自:http://blog.csdn.net/zengshaoqing/article/details/53053539 选择SlaveFIFO传输方式 SlaveFIFO传输示意如图1: 图1 Slave FIFO传输示意图 在Slave FIFO方式下,FX2LP内嵌的8051固件的功能只是配置Slave FIFO 相关的寄存器以及控制FX2LP何时工作在Slave FIFO模式下.一旦8051固件将相关的寄存器配置完毕,且使自身工作在Slav…
HID鼠标程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2. 程序解析 此程序使用的是端口1中断,进行数据的传输. 此程序的用户核心部分为periph.c文件中的“初始化函数TD_init()”和“循环执行函数TD_pull()”. 由图 1可知,开发板上的两个按键S1.S2都是接在端口PE上的. 图 1 开发板原理图 TD_init()函数就是完成对端口…
HID键盘程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2. 程序解析 此程序使用的是端口1中断,进行数据的传输. 此程序的用户核心部分为periph.c文件中的“初始化函数TD_init()”和“循环执行函数TD_pull()”. 由图 1可知,开发板上的两个按键S1.S2和两个LED灯D4.D5都是接在端口PE上的. 图 1 开发板原理图 TD_ini…
通过自定义请求存取外部RAM 1. 实验简述 此实验是对自定义的供应商特殊命令(vendor specific command bRequest = 0xA3)进行解析,程序中的read me说明如下: a3 load is 8051 firmware that can be used for uploading or downloading to EZ-USB RAM (internal or external).  It implements the vendor specific comm…
端点2(out)和端点6(in)的out_in互换 注:这里的out和in都是以host为标准说的,out是host的out,在设备(Cy7c68013)这里其实是输入端口:in是host的in,在设备(Cy7c68013)这里其实是输出端口. 由于在PDF文档中,最后博主说了句将端点2改为in,端点6改为out,就想试一下. 需要改的地方有两个文件PERIPH.c和DSCR.A51 1. DSCR.A51修改 DSCR.A51是设备描述符,这里面有个端点描述符,因为要修改端点的directio…
Cypress固件架构彻底解析及USB枚举 1. RAM的区别 56pin或者100pin的cy7c68013A,只有内部RAM,不支持外部RAM 128pin的cy7c68013A在pin脚EA=0时为内部RAM,pin脚EA=1时,为外部RAM 2. USB描述符 DESR.A51中放的是USB描述符表,包括: 1.设备描述符 2.设备限定描述符. 3.配置描述符 4.接口描述符 5.端点描述符 6.字符串描述符 3. FW.C文件的解析 1.TD_init()初始化自己的配置 2.判断设备…
ALTPLL中的areset,locked的使用 转自:http://www.360doc.com/content/13/0509/20/9072830_284220258.shtml 今天对PLL中areset和locked详细查了下资料,发现网上这方面的资料很少,所以自己认真读了下Documentation---ug_altpll.pdf,现在我将我学到的内容总结如下: areset简而言之就是高电平有效,对pll进行复位. 下面我们主要来认识一下locked信号: Locked这个输出到底…
IIC EEPROM读取解析 1. 编译错误处理(这里可以忽略) 在解压包解压了程序后,直接编译,出现如下错误. *** WARNING L14: INCOMPATIBLE MEMORY MODEL MODULE:  .\EZUSB.LIB (RESUME) MODEL:   SMALL *** WARNING L14: INCOMPATIBLE MEMORY MODEL MODULE:  .\EZUSB.LIB (DISCON) MODEL:   SMALL *** WARNING L14:…
clk为什么要用posedge,而不用negedge 转自:http://www.cnblogs.com/dangxia/archive/2012/03/07/2383744.html Verilog中典型的counter逻辑是这样的: always@(posedge clk or negedge reset) begin 'b0) reg_inst1 <= 'd0; 'b1) reg_inst1 <= reg_inst1 + 'd1; else reg_inst1 <= reg_ins…
锁相环PLL默认输入前端有个IBUFG单元,在输出端有个BUFG单元,而两个BUFG(IBUFG)不能相连,所以会报这样的错: ERROR:NgdBuild:770 - IBUFG 'u_pll0/clkin1_buf' and BUFG 'BUFG_inst' on net    'clkin_w' are lined up in series. Buffers of the same direction cannot be    placed in series. ERROR:NgdBuil…
串口波特率问题的处理 此博文一共包含三个方面的内容:(1)异步串口通信的数据格式:(2)为何串口通信中接收端采样时钟频率是传输的波特率的16倍:(3)串口波特率等概念. 1.异步串口通信的数据格式 串口的通信可以通过链接了解:https://wenku.baidu.com/view/7b459e47453610661ed9f4d4.html### 异步串口通信的数据格式如图1所示:   图1 异步串口通信的数据格式 由于在空闲状态时,传送线为逻辑“1”状态,而数据的传送总是以一个起始位“0”开始…
转自CSDN:http://blog.csdn.net/gtatcs/article/details/8970489 SystemVerilog语言简介 SystemVerilog是一种硬件描述和验证语言(HDVL),它基于IEEE1364-2001 Verilog硬件描述语言(HDL),并对其进行了扩展,包括扩充了C语言数据类型.结构.压缩和非压缩数组. 接口.断言等等,这些都使得SystemVerilog在一个更高的抽象层次上提高了设计建模的能力.SystemVerilog由Acceller…
写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让我觉得幸福感十足.每天上午看视频学习,下午总结.自己练习.今日份的鸡汤,所有看上去厉害的事情都是由一件件不起眼的小事构成的呢!加油啦 一.Python 学习及开发环境(pycharm)安装与配置 视频讲课老师说这个很好用,至于安装很简单,就是去 http://www.jetbrains.com/py…
打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格式.视频文件的avi格式) rb:   以字节方式读文件 wb: 以字节方式写文件ab: 以字节方式追加文件 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,所以不能指定编码 1. rb #错误举例 f = open ('test1.py', 'rb', encoding = 'utf…
一.对象操作 help() 功能:返回目标对象的帮助信息 举例: print(help(input)) #执行结果 Help on built-in function input in module builtins: input(prompt=None, /) Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed to standa…
一.map()函数 map()是 Python 内置的高阶函数 有两个参数,第一个是接收一个函数 f(匿名函数或者自定义函数都OK啦):第二个参数是一个 可迭代对象 功能是通过把函数 f 依次作用在 第二个参数 的每个元素上,得到一个新的 list 并返回.(新的 list 元素的个数与位置与旧的 list 一致) 实质就是内部 for 循环,遍历迭代对象的每一个元素 例如,我们现在有一个需求,对于一个 list num_1 = [1, 2, 3, 4] 如果希望把list的每个元素都作平方,就…
吧啦吧啦内心戏 在没有具体学作用域之前,我在之前的学习笔记中就有提到 我开始以为是自己自创的词儿 没想到这个词早已经存在(手动捂脸) 真是个无知的小火锅(不知者无罪) 我发现自己最擅长做的事情,就是给自己找个台阶,然后很快顺势滑下来 一.作用域 先来一段代码分析一波吧 name = 'xhg' def name1(): name = 'aa' def name2(): name = 'bb' print(name) return name2 a = name1() print(a) a() #执…
写在前面: 几乎有一周没有更新学习笔记了吧 上周一周身体都不怎么舒服 然后还得写开题报告 然后还得看文献 天天就是写写写写写写~~~~~~改改改改改改~~~~~~~~~ 今天又开始学习了 希望之前的没忘记 其实今天更新的笔记是上周看的视频 可能忘得差不多了 又重新看的 我这脑子,笨死啦   加油吧!小伙郭 最近在看绝望的主妇,感觉很好看!(每次看美剧美名其曰学英语,~~~~然而,只有自己懂) 一.局部变量和全局变量 全局变量 在程序的一开始顶头定义的变量 作用域是整个程序(全局作用域) 局部变量…
写在前面: 昨天早睡之后,感觉今天已经恢复了百分之八十的样子 又是活力满满的小伙郭 今日份鸡汤: 我始终相信,在这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活.-------宫崎骏 函数 一.函数出现的背景 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处,如下: while True: if cpu利用率 > 90%: #发送邮件提醒 连…
写在前面: 最近的事情好像有很多.李咏的离去,让我觉得很突然,仿佛印象中就是主持节目的他,看着他和哈文的爱情,很是感动.离去,没有什么抱怨,只是遗憾. 总会感慨,时光的流逝. 好像真的很快,转眼间,我都这么大了. 最近,刘某人总说的一句话,小时候虽然很穷,但是很快乐 而现在,不仅仅是穷,而且还不快乐 想想还真是(手动捂脸) 最近身体不舒服,好像学习也停滞不前. 好好加油!感谢每一天努力的自己,好好珍惜身边的一切 希望快快好起来,做那个活力满满的小伙郭 昨晚半夜不知道是肚子疼醒,还是做噩梦了. 满…
类和对象 (简单的了解一下这个概念,初步有个印象,这个概念很重要,后面会着重讲) 类:具有相同属性和方法的对象的集合: 对象:万物皆对象: 概念很抽象(每当我看不到概念的时候,我就会通过举例来理解) 我们说的数字(int).字符串(str)以及今天学习的列表(list)就是类 list # 类list li = ['xhg',123,[33,'小伙郭'],'asf',854] #li 是通过list类来创建的对象 列表 li = ['xhg',123,[33,'小伙郭'],'asf',854]…
写在前面: 今天下雪了呢!连着两天都没有更新学习记录. 我没有偷懒呢.做了一天的练习题,昨天学的内容还没总结完,太累了就回去睡觉了 连续一周早起,强大的内心也无法支撑我疲惫的身体 今天早起做了整理.加油哦(贵在坚持,一定要好好坚持下去) 1.执行 Python 脚本的两种方式 (1)进入python解释器,等待用户实时输入(2)python.exe + 执行文件的路径 2.简述位.字节的关系 1字节 = 8位 3.简述 ASCII,Unicode,utf-8.gbk 的关系 ASCII是最早美国…
数字(int)常见功能 在网络课上,老师把这些功能称为神奇的魔法,想要揭开魔法神奇的面纱,想要看看有什么招数,在Pycharm里敲击三个字母(int),按住Ctrl,将鼠标点在int上,这时鼠标会变成小手.点进去,有关于int所有魔法的介绍(这个时候就是考验你英语水平的时候了呢,加油) 功能 描述 举例 int #将字符串转化为十进制数字 #base:按照base的进制类型进行转化,可省略,默认为按照十进制数的形式转换 a = ' print(type(a),a) b = int (a) pri…
规则一: 一个python文件中,只写一些可以运行的功能测试代码写在这句代码下面 if __name__ =='__main__': 在讲这边的时候,我不是很懂参考了一篇博客,地址如下:http://blog.konghy.cn/2017/04/24/python-entry-program/ 简单来理解,可以把    if __name__ =='__main__':     理解为python程序的入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语…
通过一个任务来加深对装饰器的理解和应用 回顾:装饰器的框架 def timmer(func): def wrapper(): func() return wrapper 任务:给以下正在运行的程序加一个验证功能的装饰器正在运行的程序加一个验证功能的装饰器 def index(): print('欢迎来到京东主页') def home(name): print('欢迎回家%s' %name) def shopping_car(name): print('%购物车里有[%s,%s,%s]' %(na…
装饰器 一.装饰器的本质 装饰器的本质就是函数,功能就是为其他函数添加附加功能. 利用装饰器给其他函数添加附加功能时的原则: 1.不能修改被修饰函数的源代码        2.不能修改被修饰函数的调用方式 举例:计算以下一段程序执行时间 #程序:计算0—19的和 def cal(l): res = 0 for i in l: res += i return res print(cal(range(20))) #给上述程度增加时间模块 import time def cal(l): start_t…