Để phù hợp với lựa chọn Tag RFID ở trên và thỏa mãn yêu cầu đã đặt ra ở phần nhiệm vụ thiết kế (1.3.2), ta cũng chọn IC RFID phía bên đầu đọc cùng hãng Emmicroelectronic là EM4095. Đây là IC nằm trong khối HF trong cấu trúc xây dựng đầu đọc hoạt động ở tần số 125 kHz có giá thành tương đối rẻ (7 USD/chiếc) thường được ứng dụng trong nhiều đầu đọc ở tần số này.
2.1.2.1. Mô tả chung
EM4095 là một chip CMOS dùng trong khối HF của đầu đọc RFID có các chức năng:
- Điều khiển anten với tần số sóng mang
- Điều chế AM (biên độ) tín hiệu để ghi vào thẻ - Giải điều chế AM các tín hiệu nhận về từ thẻ
- Kết nối với một vi điều khiển làm nhiệm vụ điều khiển truy xuất dữ liệu thông qua giao diện đơn giản
• Đặc điểm:
o Hệ thống tích hợp vòng khóa pha (Phase Locked Loop – PLL) để tự nhận tần số sóng mang thích hợp với tần số cộng hưởng của anten o Không cần khối quartz tạo xung bên ngoài
o Dải tần số hoạt động: 100 ÷ 150 kHz
o Điều khiển anten trực tiếp sử dụng các cầu điều khiển
o Truyền dữ liệu bằng phương thức OOK (Điều chế biên độ 100% ) o Phù hợp với nhiều dạng Tag RFID (vd: EM400x, EM4102, EM 4050,
EM4150, …)
o Chế độ sleep tiêu tốn 1μA
o Nguồn cung cấp có thể dùng giao diện USB
o Ứng dụng: giám sát xe cộ, các đầu đọc cầm tay, các đầu đọc giá thành rẻ.
• Cấu hình hoạt động:
Hình 2- Sơ đồ bố trí các chân của EM4095
o Chế độ Read-Only:
Hình 2- Cấu hình EM4095 dùng trong chế độ Read Only
Hình 2- Cấu hình EM4095 dùng trong chế độ Read Write
• Các thông số kỹ thuật:
o Nhiệt độ hoạt động: -40o ÷ 100oC
o Nguồn cung cấp (VDD) : 4,1 (VSS = -0,3V) ÷ 5,5 (V) (VSS = 6V) o Tần số cộng hưởng của anten (FRES): 125 kHz
o Biên độ đỉnh của dòng xoay chiều tại các đầu ANT1 và ANT2 (IANT): 250mA
o CFCAP = 10 nF o CDEC = 100 nF o CDC2 = 6,8 nF
o CAGND = 100 ÷ 220 nF
o Thời gian set-up sau 1 chu kỳ sleep: 35 ms
o Trong điều chế AM, thời gian trễ từ đầu vào đến đầu ra: 40 μs • Sơ đồ khối:
Hình 2- Sơ đồ khối của EM4095
2.1.2.2. Các khối chức năng
EM4095 gồm 16 chân được dùng với một anten gắn ngoài và một vi điều khiển. Hoạt động của IC này được điều khiển bởi đầu vào logic SHD và MOD.
Khi chân SHD ở mức cao thì EM4095 ở trạng thái sleep, công suất tiêu thụ được tối thiểu hóa. Trước khi hoạt động thì chân SHD luôn ở mức cao để có quá trình khởi tạo đúng. Khi chân SHD ở mức thấp thì mạch điện có thể phát ra trường sóng vô tuyến, giải điều chế bất kỳ một tín hiệu điều chế biên độ (AM) nào mà nó phát hiện trên anten. Tín hiệu số từ khối giải điều chế AM được đưa vào chân DEMOD_OUT để chuyển sang vi điều khiển thực hiện giải mã và xử lý.
Khi chân MOD ở mức cao, bắt buộc các khối điều khiển chính của anten phải ở 3 trạng thái đồng bộ với sóng mang vô tuyến. Khi chân MOD ở mức cao thì khối tạo dao động điện áp điều khiển (Voltage Controlled Oscillator – VCO) và giải điều chế AM được giữ ở trạng thái trước khi chân MOD ở mức cao. Điều này đảm bảo cho việc khôi phục nhanh sau khi chân MOD được giải phóng. Việc chuyển lên trạng thái hoạt động của khối VCO và khối giải điều chế AM bị trễ khoảng 41 chu
kỳ clock sau khi chuyển mức ở chân MOD. Theo cách này khối VCO và giải điều chế AM hoạt động tại các thời điểm không bị xáo trộn bởi việc bắt đầu quá trình cộng hưởng của anten.
• Khối tương tự (Analog Block): có 2 chức năng là truyền và nhận tín hiệu. Quá trình truyền bao gồm việc điều khiển anten và khối điều chế AM trong trường sóng vô tuyến. Khối điều khiển anten phát ra một dòng điện vào anten bên ngoài để sinh ra từ trường. Quá trình nhận bao gồm khối giải điều chế AM các tín hiệu nhận được từ anten thông qua cảm ứng với Tag.
o Quá trình truyền: quá trình này được thực hiện bởi vòng khóa pha PLL và các khối điều khiển anten.
o Vòng khóa pha (Phase Locked Loop): được hình thành bởi vòng lọc, bộ tạo điện áp điều khiển VCO và các khối so sánh pha. Bằng cách sử dụng một bộ chia dung kháng ngoài, chân DEMOD_IN lấy thông tin về tín hiệu áp cao thực tế trên anten. Pha của tín hiệu này được so sánh với tín hiệu từ bộ điều khiển anten. Vì thế vòng khóa pha có thể giữ tần số sóng mang bằng với tần số cộng hưởng của anten. Phụ thuộc vào cách thiết kế anten mà tần số cộng hưởng của hệ thống là một giá trị nằm trong khoảng từ 100 đến 150 kHz. Trong mọi trường hợp khi tần số cộng hưởng nằm trong dải tần số này nó sẽ được duy trì bởi vòng khóa pha.
o Quá trình nhận: Tín hiệu giải điều chế vào khối nhận là điện áp lấy từ anten. Chân DEMOD_IN được coi như là đầu vào của quá trình nhận tín hiệu. Mức tín hiệu trên chân đầu vào DEMOD_IN phải thấp hơn VDD -0,5 V và cao hơn VSS + 0,5 V. Mức điện áp đầu vào được điều chỉnh bởi bộ chia dung kháng bên ngoài. Bộ chia dung kháng được bù bởi tụ cộng hưởng phù hợp nhỏ hơn. Phương thức giải điều chế biên độ dựa trên kỹ thuật giải điều chế đồng bộ biên độ. Trong quá trình nhận bao gồm các khối trích và giữ mẫu, xóa offset một chiều, lọc giải thông và bộ so sánh. Điện áp 1 chiều của tín hiệu trên chân
chế biên độ được lấy mẫu, việc lấy mẫu được đồng bộ hóa bởi xung clock từ VCO. Mọi thành phần một chiều bị lọc ra khỏi tín hiệu này bởi tụ CDEC. Các bộ lọc thông cao bậc hai và tụ CDC2 để loại tín hiệu sóng mang còn lại, các nhiều tần số cao và thấp. Tín hiệu nhận được sau khi được khuếch đại và lọc được vào bộ so sánh không đồng bộ. Tín hiệu ra của bộ so sánh là tín hiệu trên chân đầu ra DEMOD_OUT. • Tín hiệu RDY/CLK: tín hiệu này cung cấp cho vi xử lý bên ngoài với tín
hiệu clock đồng bộ với tín hiệu trên chân ANT1 và với thông tin về trạng thái bên trong EM4095. Xung clock đồng bộ với tín hiệu trên chân ANT1 cho thấy vòng khóa pha đã đóng và điểm hoạt động của quá trình nhận được đặt. Khi chân SHD ở mức cao thì tín hiệu RDY/CLK bị buộc ở mức thấp. Sau sự chuyển đổi từ cao sang thấp trên chân SHD thì vòng khóa pha PLL bắt đầu và quá trình nhận được khởi động. Sau thời gian TSET vòng khóa pha đóng lại và điểm hoạt động của quá trình nhận được hình thành. Tại thời điểm này tín hiệu được chuyển tới chân ANT1 cũng được đưa vào chân RDY/CLK để chuyển sang vi xử lý nhờ đó vi xử lý bắt đầu quan sát tín hiệu trên chân DEMOD_OUT và đồng thời đưa ra xung clock tham chiếu. Xung clock trên chân RDY/CLK là liên tục, nó cũng xuất hiện trong thời gian các khối ANT nghỉ vì chân MOD ở mức cao. Trong thời gian TSET chân SHD chuyển từ cao xuống thấp thì chân RDY/CLK cũng bị kéo xuống bởi điện trở kéo 100 kΩ. Lí do là bởi chức năng phụ của chân RDY/CLK trong trường hợp điều chế AM với chỉ số nhỏ hơn 100%. Trong trường hợp đó nó thường dùng như khối điều khiển phụ trợ duy trì biên độ thấp trên cuộn cảm trong quá trình điều chế.
Hình 2- Chế độ hoạt động Read Only
Chân MOD không được sử dụng. Trong trường hợp này nó sẽ được nối với đất. • Chế độ hoạt động Read Write:
Hình 2- Chế độ hoạt động Read Write
Ở chế độ hoạt động Read Write đầu đọc kết nối với thẻ qua giao thức OOK (ví dụ như nếu dùng thẻ EM4150).
2.1.3. Vi điều kkhiển PIC 16F877A
Do yêu cầu điều khiển và truyền tín hiệu giữa IC RFID và PC không quá phức tạp nên ta lựa chọn loại vi điều khiển thông dụng thỏa mãn đầy đủ các chức năng cần có đó là PIC 16F877A.
Ưu điểm của PIC 16F877A:
- Thời gian thực hiện lệnh nhanh, chỉ mất một đến hai chu kỳ máy, so với vi điều khiển khác như 89C51 phải mất từ hai đến bốn chu kỳ máy mới thực hiện xong một lệnh.
- Chỉ có 35 câu lệnh đơn từ, trong đó với 8051 là 255.
- Dòng rò/nguồn lớn, cỡ 25mA thuận tiện cho việc điều khiển thiết bị ngoại vi.
- Có thể điều khiển trực tiếp từng bit tại các cổng. - Tích hợp sẵn ADC 10bit.
- Mức logic tương thích cả TTL và CMOS. - Truyền thông bằng chuẩn SPI và I2C. - Tích hợp bộ truyền nhận USART.
2.1.3.1. Đặc điểm chính của PIC 16F877A
Họ PIC16F87X có 4 loại : PIC16F876/PIC16F873 (28 chân) và PIC16F877/ PIC16F874 (40 chân) . Loại 28 chân không có cổng PSP.
Hình 2- Sơ đồ chân của PIC 16F877A
• Chỉ có 35 lệnh.
• Tất cả các lệnh đơn thực hiện trong 1 chu kỳ lệnh ngoại trừ các lệnh rẽ nhánh thì thực hiện trong 2 chu kỳ.
• Tốc độ hoạt động : 20MHz và mỗi chu kỳ lệnh thực hiện trong 200ns. • Có bộ nhớ chương trình FLASH (FLASH Program Memory) 8K x 14 bit. • Có bộ nhớ dữ liệu RAM (Data Memory) 360 x 8 bytes.
• Có bộ nhớ dữ liệu EEPROM (EEPROM data memory) 256 x 8 bytes. • Có 14 ngắt trong và ngắt ngoài.
• Có 8 ngăn Stack.
• 3 chế độ địa chỉ : Trực tiếp, gián tiếp và tương đối.
• Có sẵn PRO (Power-up Timer), PWRT (Power-up Timer), OST (Oscillator Start-up Timer) và WDT (Watchdog Timer).
• Có chế độ SLEEP tiết kiệm năng lượng. • Có các chọn lựa cho bộ phát sóng.
• Có các cổng ghép nối nối tiếp và song song. • Có dải điện áp làm việc 2.0V đến 5.5V.
• Bộ Timer0 8bits Timer/Counter với 8bits Prescaler. • Bộ Timer1 16bits Timer/Counter với Prescaler.
• Bộ Timer2 8bits Timer/Counter với 8bits thanh ghi đoạn, Prescaler và Postscaler.
• Các chế độ Capture (16bits, 12.5ns) , Compare (16bits, 200ns) và PWM (10bits) [CCP].
• Bộ biến đổi AD nhiều kênh 10 bits.
• Cổng truyền tin nối tiếp đồng bộ với 2 chế độ SPI và I2C. • Có USART/SCI với 9bits địa chỉ.
• Có cổng PSP (Parallel Slave Port) 8bits với các chân điều khiển ngoài RD, WR và CS nhưng chỉ có ở các CHIP 40/44 chân.
2.1.3.2. Cấu trúc và dung lượng bộ nhớ
Hình 2- Cấu trúc và dung lượng bộ nhớ của PIC16F877A
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (Data memory).
Hình 2- Bộ nhớ chương trình PIC16F877A
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14bit) và được phân thành nhiều trang (từ page0 đến page3). Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit).
Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ đếm chương trình có dung lượng 13 bit (PC<12:0>).
Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (reset vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector).
Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình.
2.1.3.2.2. Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia làm nhiều bank. Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank. Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chính chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình. Sơ đồ cụ thể của bộ nhớ PIC16F877A như sau:
2.1.4. Sơ đồ nguyên lý toàn mạch
Hình 2- Sơ đồ nguyên lý toàn mạch
Code chương trình nạp cho PIC16F877A viết bằng CCS PCWH Compiler :
#include <16f877a.h> #include <def_16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,PUT #include <em4095.c> // Controls the reader IC
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_c6,rcv=PIN_c7)
int8 msg[32]; void main() { int8 customerCode; int32 tagNum; trisb5=0;
rf_init(); // Initialize the RF reader rf_powerUp(); // Power up the antenna
while(1) { if(read_4102(msg)) { output_high(pin_d2); customerCode = msg[0]; tagNum = make32(msg[1], msg[2], msg[3], msg[4]); //sprintf(msg,"Customer Code: %u\n\r", customerCode); //puts(msg);
sprintf(msg, "%lu\n\n\r", tagNum); puts(msg);
//output_high(pin_d2); delay_ms(500); output_low(pin_d2); } } } Hình 2- Layout mạch thiết bị đọc thẻ
CHƯƠNG 3: THIẾT KẾ ANTEN CHO ĐẦU ĐỌC RFID
3.1. Nghiên cứu nguồn năng lượng trường điện từ nuôi thẻ RFID
Hệ thống RFID hoạt động ở tần số 125 kHz có nguyên lý hoạt động dựa trên nguyên tắc ghép nối cảm ứng giữa anten đầu đọc và anten thẻ. Vì vậy để hiểu được cơ chế truyền năng lượng và dữ liệu giữa đầu đọc và thẻ qua ghép nối cảm ứng các anten cần hiểu nguyên tắc vật của từ trường tạo ra bởi anten.
3.1.1. Từ trường do anten tạo ra
• Cường độ từ trường H:
Về cơ bản khi có một dòng điện chuyển động trong một dây dẫn thì nó sẽ sinh ra một từ trường H xung quanh dây dẫn theo chiều nhất định và tuân theo quy luật :
∑ ∫I =ÑH dSr.r
(4.1)
Hình 3- Từ trường H sinh ra bởi dòng điện I
Dọc theo một đường sức từ cách dây dẫn 1 khoảng cách r thì cường độ từ trường được tính theo công thức:
1 2 H r π = (4.2)
Nếu thay dây dẫn bằng một cuộn dây (hình tròn) nhiều vòng của đầu đọc thì từ trường sinh ra do dòng điện qua cuộn dây sẽ là một từ trường dao động trong không gian giữa hai thiết bị đầu đọc và thẻ của hệ thống RFID.
Hình 3- Từ trường H sinh ra bởi cuộn dây
Dọc theo trục x từ trường H càng giảm nếu càng ra xa tâm của cuộn dây.
Cường độ từ trường H của cuộn cảm phía đầu đọc (bên phát) trong hệ ghép nối cảm ứng RFID được tính theo công thức sau:
2 2 2 3 . . 2 ( ) I N R H R x = + (4.3) Trong đó: I- dòng điện đi qua cuộn dây anten
N - số vòng dây R: bán kính vòng dây
Tổng các đường sức từ đi qua một vòng dây sẽ tạo nên một từ thông Φ. Từ
thông Φ được tính qua cảm ứng từ B trong một tiết diện S theo công thức: Φ =B S.
(4.4)
Trong đó cảm ứng từ B được tính qua cường độ từ trường H:
B=µH
(4.5) Với μ là độ từ thẩm.
• Độ tự cảm L:
Cuộn dây có N vòng dây sẽ tạo ra từ thông tổng ψ và độ tự cảm L của cuộn dây sẽ được tính theo tỉ số giữa từ thông tổng và dòng điện sinh ra nó:
. . . . N N H S L I I I ψ Φ µ = = = (4.6)
Nếu bán kính của dây dẫn ro rất nhỏ so với bán kính của cuộn dây R (r/R < 0.0001) thì độ tự cảm L của cuộn dây sẽ được tính xấp xỉ theo công thức:
1,9 oR.ln R r L N µ ÷ ÷ = (4.7)
Với μo là độ từ thẩm của không khí: µo =4 .10π −7(Tm A/ ). • Hiện tượng hỗ cảm:
Khi có thêm cuộn dây anten của thẻ RFID nằm trong phạm vi từ trường do cuộn dây anten của đầu đọc phát ra thì sẽ có hiện tượng hỗ cảm từ cuộn dây phát (bên đầu đọc) sang cuộn dây thu (bên thẻ). Trên diện tích mỗi vòng dây của cuộn dây thu sẽ có một phần đường sức từ của cuộn dây phát kia đi qua. Từ thông do cuộn dây phát (cuộn dây 1 có dòng I1) gửi qua cuộn dây thu (cuộn dây 2) là
Φ12 = M12.I1
(4.8) Trong đó M12 hệ số hỗ cảm của mạch 1 và 2.
Hình 3- Mạch điện mô tả hiện tượng cảm ứng từ
Hệ số hỗ cảm giữa hai cuộn dây: