General Introduction

The communication interface to the reader can be configured in two ways:

with a eight line parallel interface (D0:D7) plus DATA_CLK, or

with a three or four wire Serial Peripheral Interface (SPI).

The SPI interface uses traditional Master Out/Slave In (MOSI), Master In/Slave Out (MISO), IRQ, and DATA_CLK lines.

The SPI can be operated with or without using the Slave Select line.

These communication modes are mutually exclusive; that is, only one mode can be used at a time in the application.

When the SPI interface is selected, the unused I/O_2, I/O_1, and I/O_0 pins must be hard-wired as shown in Table 5-9.

At power up, the TRF7970A samples the status of these three pins and then enters one of the possible SPI modes.

The TRF7970A always behaves as the slave device, and the microcontroller (MCU) behaves as the master device.

The MCU initiates all communications with the TRF7970A, and the TRF7970A makes use of the Interrupt Request (IRQ) pin
in both parallel and SPI modes to prompt the MCU for servicing attention.

Communication is initialized by a start condition, which is expected to be followed by an Address/Command word (Adr/Cmd).

The Adr/Cmd word is 8 bits long, and its format is shown in Table 5-10.

The MSB (bit 7) determines if the word is to be used as a command or as an address.

The last two columns of Table 5-10 show the function of the separate bits if either address or command is written.

Data is expected once the address word is sent.

In continuous-address mode (Cont. mode = 1), the first data that follows the address is written (or read) to (from) the given address.

For each additional data, the address is incremented by one.

Continuous mode can be used to write to a block of control registers in a single stream without changing the address;
for example, setup of the predefined standard control registers from the MCU non-volatile memory to the reader.

In non-continuous address mode (simple addressed mode), only one data word is expected after the address.

Address Mode is used to write or read the configuration registers or the FIFO. When writing more than 12 bytes to the FIFO,
the Continuous Address Mode should be set to 1.

The Command Mode is used to enter a command resulting in reader action
(for example, initialize transmission, enable reader, and turn reader on or off).

Examples of expected communications between an MCU and the TRF7970A are shown in the following sections.

The IRQ line is indeed the interrupt back to the MCU to indicate something has occurred. The reading of the IRQ status register is then the pointer to the logic of what to do next. For example, after transmitting out a command sequence to a tag, you will get an IRQ which needs to be serviced by reading the IRQ status register (which clears the IRQ), then most likely you would have an 0x80, telling you that the transmission was successful (we call EOTX (end of transmit) IRQ)...then you would next get an IRQ, which would for example be 0x40, indicating an EORX (end of recieve) has occured, then you would read the FIFO status for # of bytes to clock out, then read the FIFO for the data...you can see in the data sheet the descriptions of the IRQ register and and some examples, too. (see the TRF7970A DS, section 5.9.xx)

The ASK/OOK line in your case most likely can just be pulled to GND or you can connect it to a GPIO on your MCU like we have it shown in the reference schematics. MOD same thing, unless you are using any Mifare Classic tags, then you would need control of the MOD pin for Direct Mode 0, so then it would need to be connected to a GPIO.

Usually we are recommending connecting EN line to a GPIO, with a pulldown (needs to see low to high transition) so you can have control of some of the power modes...EN2 can also be connected to a GPIO or pulled high or low, depending on your need for even lower power consumption.

Correct about I/O_0, I/O_1 and I/O_2 being at GND potential for SPI w/o SS.

If it helps here is a schematic of SPI with SS, which you can modify for your own usage, since you say you want to do without SS. (I/O_3 and I/O_5 are connected in this drawing as well, and this is for Special Direct Mode, which you may or may not need, depending on which tags you are trying to use here - normally not needed, just FYI)

7183.TRF7970A_SPI_MSP430F2370_dongle_sch.pdf

TRF7970A IC Communication Interface的更多相关文章

  1. USB组合设备 Interface Association Descriptor (IAD)

    Communication Device Class,简称CDCUSB Compound Device,USB复合设备USB Composite Device,USB组合设备 摘要USB复合设备 Co ...

  2. (转)什么是CDC类(Communication Device Class)

    全文地址:http://justmei.blog.163.com/blog/static/1160998532010321112522467/ 什么是CDC类 (Communication Devic ...

  3. Chrysler -- CCD (Chrysler Collision Detection) Data Bus

    http://articles.mopar1973man.com/general-cummins/34-engine-system/81-ccd-data-bus CCD (Chrysler Coll ...

  4. 实验室项目.md

    1 嵌入式操作系统 为什么要用嵌入式操作系统 普通的单片机编程:程序(软件)--单片机硬件: 嵌入式操作系统开发:程序(软件)--操作系统--嵌入式硬件(包括单片机等); 我们平时普通所学的单片机编程 ...

  5. Linux内核配置选项

    http://blog.csdn.net/wdsfup/article/details/52302142 http://www.manew.com/blog-166674-12962.html Gen ...

  6. Smart internet of things services

    A method and apparatus enable Internet of Things (IoT) services based on a SMART IoT architecture by ...

  7. Indexing Sensor Data

    In particular embodiments, a method includes, from an indexer in a sensor network, accessing a set o ...

  8. 深入linux kernel内核配置选项

    ============================================================================== 深入linux kernel内核配置选项 ...

  9. Fedora 24中的日志管理

    Introduction Log files are files that contain messages about the system, including the kernel, servi ...

随机推荐

  1. 禁用quartz自动检查更新

    禁用quartz自动检查更新的3种方法 1, <bean id="startQuertz" lazy-init="false" autowire=&quo ...

  2. {%csrf_token%}的作用

    <form> {%csrf_token%} </form> 在django中我们需要在templates的form中加入{%csrf_token%}这串内容,它的作用是当我们g ...

  3. ansible报错Aborting, target uses selinux but python bindings (libselinux-python) aren't installed

    报错内容: TASK [activemq : jvm configuration] ********************************************************** ...

  4. gtk+学习笔记(三)

    gtk感觉函数好多,需要记好多函数,还是多练习,多总结,今天写了一个登陆窗口,很简单,主要是为了加深对这些东西的记忆,直接贴代码 #include<gtk/gtk.h> static Gt ...

  5. Python 3.6安装教程

    0x01 安装Python 1.1 说明 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的. 本教程安装的是python-3.6.1-amd64版本. Python官 ...

  6. 常用的scrapy setting

    原文请参考    Scrapy 爬虫入门教程十三 Settings(设置), 讲的很详细 官网参考  Settings 设置 Scrapy 设置允许您自定义所有 Scrapy 组件的行为,包括核心,扩 ...

  7. Centos7中一次性安装开发者工具

    这里使用组安装包,一次性安装所有开发者工具. 1.查看有那些组安装包可用. yum grouplist | more 2.搜索一下有哪些和development有关. yum grouplist | ...

  8. markdown在list或者引用之后怎么去重新令其一段

    多打一个空格,虽然这个方法简单的要是,但是我就是没有想到,真是尴尬到奶奶家啦!

  9. 429.N叉树的层次遍历

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  10. VIM块操作

    一.可视模式 按v启用可视模式,之后移动光标可以选择. 如:     如果想整行操作,则用大写的V,再移动光标可以按行为单位进行选择. 二.列块操作 在 word中有一个功能,按alt加鼠标拖动,可以 ...