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. Machine Learning系列--判别式模型与生成式模型

    监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出.这个模型的一般形式为决策函数:$$ Y=f(X) $$或者条件概率分布:$$ P(Y|X) $$监督学习方法又可以分为生成方法 ...

  2. hive学习(五) 应用案例

    1.实现struct数据结构例子 1.1创建student表 create table student( id int, info struct<name:string,age:int> ...

  3. ***关于WP的邮件无法发送问题的总结(原创)

    1.用FTP打开 /wp-include/class-smtp.php ,最好是下载下来,搜索一下,查找到如下的代码: $this->smtp_conn = @stream_socket_cli ...

  4. 【C#日期系列(一)】--C#获取某月第一天0分0秒以及最后一天59分59秒

    工作中可能会遇到很多不常见的需求,比如这次需要获取某个月的第一天和最后一天 #region 取得某月的第一天0分0秒 /// <summary> /// 取得某月的第一天0分0秒 /// ...

  5. 开源IDS系列--snorby 进程正常,但是worker无法启动 The Snorby worker is not currently running

    设置页面报错:   The Snorby worker is not currently running. It's imperative you start the worker immediate ...

  6. Redis实战(七)

    修改数据 C#语言修改Redis示例. 1.通过key修改单个value using (var redisClient = RedisManager.GetClient()) { var user = ...

  7. es6的Set()构造函数

    关于Set()函数 Set是一个构造器,类似于数组,但是元素没有重复的 1.接收数组或者其他iterable接口的数据 用于初始化数据 let a=new Set([1,32,424,22,12,3, ...

  8. 移动App 的 ios11 和 iPhoneX 适配

    原文链接:https://blog.csdn.net/lovelyelfpop/article/details/79460700 WKWebView 调用拨打电话功能 1.HTML 要标记添加标记电话 ...

  9. javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)

    //十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); alert(x.toString(16)); // ...

  10. Android 之JSON数据解析

    (以下基本都是郭霖大神<第一行代码>中的知识) JSON数据与xml相比,优势在于体积更小,传输所需的流量少.但是缺点也很明显,就是语义性较差. 下面是一组JSON格式的数据. [{&qu ...