Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
1
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
MỤC LỤC
Phần 1: CỔNG SONG SONG ................................................ 3
1.1 Cấu trúc cổng song song: ............................................................................... 3
1.2 Định dạng các thanh ghi: ............................................................................... 4
1.3 Giao tiếp hai máy tính dùng cổng song song ................................................ 4
Phần 2: GIỚI THIỆU PSOC VÀ MODUL WIRELESS USB7
2.1 Giới thiệu chung về PSOC và chip Cyp29566: ............................................ 7
2.2 Sơ lƣợc cấu trúc phần cứng: .......................................................................... 8
2.2.1 Tổng quan cấu trúc PSOC: .................................................................... 8
2.2.2 Cấu trúc CPU ........................................................................................... 9
2.2.3 Bộ tạo tần số: ............................................................................................ 9
2.2.4 Mạch RESET: ........................................................................................ 10
2.2.5 Đầu vào và ra của tín hiệu số: .............................................................. 10
2.2.6 Drive Mode: ........................................................................................... 11
2.2.7 Truy cập các khối số lập trình đƣợc: ................................................... 12
2.2.8 Các đƣờng input toàn cục (Global input line): ................................... 12
2.2.9 Bộ chọn kênh đầu vào: .......................................................................... 12
2.2.10 Khối số khả trình: .................................................................................. 13
2.2.11 Tín hiệu CLK ......................................................................................... 14
2.2.12 Tín hiệu input ......................................................................................... 14
2.2.13 Tín hiệu output ...................................................................................... 14
2.2.14 Multiplexer ............................................................................................. 14
2.2.15 Mạch logic .............................................................................................. 15
2.2.16 Output drivers ....................................................................................... 15
2.2.17 Điều khiển ngắt ...................................................................................... 15
2.2.18 Không gian địa chỉ ................................................................................. 16
2.3 Module WirelessUSB LR 2.4-GHz DSSS Radio SoC CYWUSB6935: .... 17
2.3.1 Các đặc điểm của CYWUSB6935: ....................................................... 17
2.3.2 Các ứng dụng: ........................................................................................ 17
2.3.3 Sơ đồ khối của CYWUSB6935: ............................................................ 17
2.3.4 Chức năng tổng quát của CYWUSB6935: .......................................... 18
2.3.6 Các thanh ghi của CYWUSB6935: ...................................................... 21
Phần 3: SƠ ĐỒ MẠCH VÀ LƢU ĐỒ THUẬT TOÁN ....... 25
3.1 Cấu hình phần cứng trên PSOC Cyp29566................................................ 25
3.1.1 Khối giao tiếp SPI Master ..................................................................... 25
3.1.2 Module LCD 16x2.................................................................................. 27
3.1.3. Module I2C: ........................................................................................... 29
3.1.4. Giới thiêu DS1307 .................................................................................. 31
3.2. Sơ đồ mạch và nguyên lý hoạt động:........................................................... 34
3.2.1 Mạch điều khiển thiết bị: ...................................................................... 34
3.2.2 Mạch giao tiếp máy tính: ...................................................................... 35
3.3 Lƣu đồ thuật toán: ........................................................................................ 36
3.3.1 Chƣơng trình chính: .............................................................................. 36
3.3.2 Chƣơng trình cài đặt giờ: ..................................................................... 38
3.3.3 Chƣơng trình hiển thị menu:................................................................ 39
3.3.4. Chƣơng trình hiển thị và cài đặt trên PSOC: .................................... 40
3.3.5. Chƣơng trình xử lý dữ liệu từ máy tính: ............................................. 41
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
2
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Phần 4: CHƢƠNG TRÌNH GIAO TIẾP CỔNG SONG SONG
TRÊN MÁY TÍNH ................................................................ 42
4.1 Giới thiệu chƣơng trình giao tiếp máy tính với module wireless. ............ 42
4.2 Các module chính của chƣơng trình: .......................................................... 43
4.2.1 Hàm set và clear 1 bit: ........................................................................... 43
4.2.2 Hàm đọc trạng thái của 1 bit: ............................................................... 43
4.2.3 Hàm gửi 1 byte lên bus SPI: . .............................................................. 44
4.2.4 Hàm nhận đọc 1 byte trên bus SPI: ..................................................... 44
4.2.5 Hàm ghi đata vào 1 thanh ghi của module wireless: .......................... 44
4.2.6 Hàm đọc data từ 1 thanh ghi của module wireless: ........................... 45
4.2.7 Hàm khởi động module wireless: ......................................................... 45
4.2.8 Hàm chọn chế độ truyền cho module 6935: ....................................... 46
4.2.9 Phát 1 byte dùng module wireless: ...................................................... 46
4.2.10 Nhận 1 byte: ........................................................................................... 46
4.2.11 Sự kiện cho nút ‘Bắt đâu’: .................................................................... 46
4.2.12 Sự kiện cho nút ‘Cài đặt’: ..................................................................... 46
4.2.13 Sự kiện cho nút ‘Cập nhật thời gian’: ................................................. 47
4.2.14 Sự kiện cho nút ‘Nhận dữ liệu’: ........................................................... 47
4.2.15 Sự kiện cho timer2. ................................................................................ 47
4.2.16 Sự kiện cho các nút điều khiển trực tiếp thiết bị: ............................... 47
Phần 5: PHỤ LỤC ................................................................. 48
5.1 Chƣơng trình diều khiển ở VDK ................................................................. 48
5.2 Chƣơng trình VB: ......................................................................................... 64
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
3
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Phần 1: CỔNG SONG SONG
1.1 Cấu trúc cổng song song:
Cổng song song gồm có 4 đường điều khiển, 5 đường trạng thái và 8 đường
dữ liệu bao gồm 5 chế độ hoạt động:
Chế độ tương thích (compatibility).
Chế độ nibble.
Chế độ byte.
Chế độ EPP (Enhanced Parallel Port).
Chế độ ECP (Extended Capabilities Port).
Ba chế độ đầu tiên sử dụng cổng song song chuẩn (SPP – Standard Parallel
Port) trong khi đó chế độ 4, 5 cần thêm phần cứng để cho phép hoạt động ở tốc độ
cao hơn. Sơ đồ chân của cổng song song như sau:
Chân Tín hiệu Mô tả
1 -STROBE (Out) Mức tín hiệu thấp, chỉ truyền dữ liệu
2 D0 Bit dữ liệu 0
3 D1 Bit dữ liệu 1
4 D2 Bit dữ liệu 2
5 D3 Bit dữ liệu 3
6 D4 Bit dữ liệu 4
7 D5 Bit dữ liệu 5
8 D6 Bit dữ liệu 6
9 D7 Bit dữ liệu 7
10 -ACK (In) Mức thấp: đã nhận 1 ký tự và có khả năng
nhận nữa
11 -BUSY (In) Mức thấp: ký tự đã được nhận; bộ đệm
đầy.
12 PAPER EMPTY
(In)
Mức cao: hết giấy
13 SELECT (In) Mức cao: máy in ở trạng thái online
14 -AUTOFEED (Out) Mức thấp: máy in xuống dòng tự động
15 -ERROR (In) Mức thấp: hết giấy; máy in ở offline; lỗi
máy in
16 -INIT (Out) Mức thấp: lỗi truyền dữ liệu
17 SELECTIN (Out) Mức cao: chọn máy in
18-25 GROUND 0V
Bảng 1.1 – Sơ đồ chân cổng song song
Cổng song song có ba thanh ghi có thể truyền dữ liệu và điều khiển. Địa chỉ cơ
sở của các thanh ghi cho tất cả cổng LPT (line printer) từ LPT1 đến LPT4 được lưu
trữ trong vùng dữ liệu của BIOS. Thanh ghi dữ liệu được định vị ở offset 00h, thanh
ghi trang thái ở 01h, và thanh ghi điều khiển ở 02h. Thông thường, địa chỉ cơ sở của
LPT1 là 378h, LPT2 là 278h, do đó địa chỉ của thanh ghi trạng thái là 379h hoặc
279h và địa chỉ thanh ghi điều khiển là 37Ah hoặc 27Ah. Tuy nhiên trong một số
trường hợp, địa chỉ của cổng song song có thể khác do quá trình khởi động của BIOS.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
4
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
BIOS sẽ lưu trữ các địa chỉ này như sau:
Địa chỉ Nội dung
0040h:0008h Địa chỉ cơ sở của LPT1
0040h:000Ah Địa chỉ cơ sở của LPT2
0040h:000Ch Địa chỉ cơ sở của LPT3
Bảng 1.2 – Lưu địa chỉ các cổng song song
1.2 Định dạng các thanh ghi:
Thanh ghi dữ liệu (hai chiều):
7 6 5 4 3 2 1 0
Tín hiệu máy
in
D7 D6 D5 D4 D3 D2 D1 D0
Chân số 9 8 7 6 5 4 3 2
Bảng 1.3- Thanh ghi dữ liệu
Thanh ghi trạng thái (chỉ đọc):
Tín
hiệu
máy in
BUS
Y
-
ACK
PAPER
EMPTY
SELECT -ERROR -IRQ X X
Chân số 11 10 12 13 15 - - -
Bảng 1.4 - Thanh ghi trạng thái
Thanh ghi điều khiển:
Tín hiệu
máy in
X X
DIR
IRQ
Enable
SELECT
IN
INIT AUTOFEED STROBE
Chân số - - - - 17 16 14 1
Bảng 1.5 - Thanh ghi điều khiển
x: không sử dụng
IRQ Enable: yêu cầu ngắt cứng; 1 = cho phép; 0 = không cho phép
Ngoài ra chân BUSY được nối với cổng đảo trước khi được đưa vào thanh ghi
trạng thái, các bit - AUTOFEED và - STROBE được đưa qua cổng đảo trước khi đưa
ra các chân.
Thông thường tốc độ xử lý dữ liệu của các thiết bị ngoại vi như máy in chậm
hơn PC nhiều nên các đường - ACK , BUSY và -STR được sử dụng cho kỹ thuật
bắt tay. Khởi đầu, PC đặt dữ liệu lên bus sau đó kích hoạt đường STR xuống mức
thấp để thông tin cho
biết rằng dữ liệu đã ổn định trên bus. Khi xử lý xong dữ liệu,
nó sẽ trả lại tín hiệu -
ACK xuống mức thấp để ghi nhận. PC đợi cho đến khi đường
BUSY từ máy in xuống thấp thì sẽ đưa tiếp dữ liệu lên bus.
1.3 Giao tiếp hai máy tính dùng cổng song song
Quá trình giao tiếp với cổng song song dùng 2 chế độ: chế độ chuẩn SPP và chế
độ mở rộng. Việc giao tiếp ở chế độ chuẩn mô tả như sau:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
5
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Hình 1.1 - Trao đổi dữ liệu qua cổng song song giữa 2 PC dùng chế độ chuẩn
Sơ đồ chân kết nối mô tả như sau:
PC
1
PC
2
Chức năng Chân Chân Chức năng
D0 2 15 -ERROR
D1 3 13 SELECT
D2 4 12 PAPER EMPTY
D3 5 10 -ACK
D4 6 11 BUSY
BUSY 11 6 D4
-ACK 10 5 D3
PAPER
EMPTY
12 4 D2
SELECT 13 3 D1
-ERROR 15 2 D0
GND 25 25 GND
Bảng 1.6 – Sơ đồ chân kết nối hai máy tính chế độ chuần
Ngoài ra, việc kết nối giữa 2 máy tính sử dụng cổng song song có thể dùng chế
độ mở rộng, chế độ này cho phép giao tiếp với tốc độ cao hơn
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
6
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Hình 1.2 - Trao đổi dữ liệu qua cổng song song giữa 2 PC dùng chế độ mở
rộng
Sơ đồ chân kết nối mô tả như sau:
PC
1
PC
2
Chức năng Chân Chân Chức năng
D0 2 2 D0
D1 3 3 D1
D2 4 4 D2
D3 5 5 D3
D4 6 6 D4
D5 7 7 D5
D6 8 8 D6
D7 9 9 D7
SELECT 13 17 SELECTIN
BUSY 11 16 -INIT
-ACK 10 1 -STROBE
S
ELECTIN 17 13 SELECT
-INIT 16 11 BUSY
-STROBE 1 10 -ACK
Bảng 1.7 – Sơ đồ chân kết nối hai máy tính chế độ mở rộng
Chương trình giao tiếp trên VB sử dụng thư viện liên kết động để trao đổi dữ liệu
với cổng máy in. Thư viện inpout32.dll bao gồm các hàm sau:
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
7
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Phần 2: GIỚI THIỆU PSOC VÀ MODUL WIRELESS USB
2.1 Giới thiệu chung về PSOC và chip Cyp29566:
PsoC được viết tắt từ Programmable System On Chip (hệ thống khả trình trên 1
chip) là một loại vi điều khiển, trong đó ngoài cấu trúc của một vi điều khiển 8 bit
truyền thống nó còn được tích hợp thêm các khối số và tương tự. Các khối số và tương
tự này co khả năng cấu hình mềm dẻo. Các khối số là các khối khả trình, cho phép ta
cấu hình để trở thành timer, bộ PWM, Counter, các chuẩn giao tiếp truyền thống... Các
khối tương tự cho phéo ta phát triển các thành phần như là bộ lọc, ADC, DAC, bộ
khuếch đại…PSoC chúng tôi đề cập ở đây là sản phẩm của hãng Cypress. Để thuận
tiện cho việc phát triển hệ thống với PSOC, Cypress cung cấp bộ phần mềm PSOC
Designer, cho phép ta cấu hình phần cứng dễ dàng. Các đặc điểm của loại PsoC
CYP29566:
Bộ xử lý với cấu trúc Harvard:
Tốc độ của bộ vi xử lý lên đến 24MHz
2 bộ nhân 8x8, thanh ghi tích lũy 32bit
Năng lượng tiêu hao ít, tốc độ xử lý cao
Dải điện áp từ 3.0 đến 5.25 V
Có bộ chuyển mạch SMP (Switch mode pump)
Dải nhiệt độ hoạt động từ -40 đến 85 độ C
Các khối ngoại vi tiên tiến:
12 khôi Analog cung cấp cho ta:
- Các bộ ADC lên tới 14 bit
- Các bộ DAC lên tới 9 bit
- Bộ khuếch đại lập trình được
- Bộ lọc và bộ so sánh lập trình được
8 Khối ngoại vi số được thiết lập để làm các nhiệm vụ
- Các Timer, Counter, RTC, PWM
- Các module kiểm tra lỗi (CRC)
- 4 bộ UART Full-Duplex
- Giao tiếp SPI Master, Slave
- Có khả năng kết nối đến tất cả các chân IO
Bộ tạo xung khả trình chính xác
- Bộ dao động 24/48MHz với độ chính xác 2,5% bên trong chip
- Tùy chọn dùng thạch anh 32,768KHz để tạo tần số dao động 24/48MHz
chính xác
- Dùng thạch anh ngoài tới 24Mhz
- Bộ dao động nội cho WDT và chế độ Sleep
Bộ nhớ trên chip linh hoạt:
- 32KB Flash Program Storage.
- 2K SRAM
- In-System Serial Programming
- Cập nhật từng phần của bộ nhớ Flash
- Chê độ bảo vệ
Cấu hình chân IO lập trình được
- Khả năng cấp dòng 25mA với tất cả các chân
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
8
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
- Pull up, Pull down, High Z, Strong, Open Drain Drive Modes cho tất cả
các chân
- Bất kì chân nào đều là chân ngắt ngoài được
- Tối đa 12 ngõ vào Analog
- 4 ngõ ra Analog có khả năng cấp dòng 40mA
Các tài nguyên hệ thống khác:
- I2C Slave, Master, and Multi-Master tối đa 400kHz
- Bộ định thời Watch Dog và Sleep
- Bộ phát hiện điện áp thấp tùy chọn
- Bộ tạo điện áp tham chiếu lập trình được
-
2.2 Sơ lƣợc cấu trúc phần cứng:
2.2.1 Tổng quan cấu trúc PSOC:
Các vi điều khiển PSOC dựa trên cấu trúc vi điều khiển 8 bit với tập lệnh phức
tạp (CISC). Sơ đồ khối như hình vẽ trên.
CPU là phần chính của vi điều khiển, mục đích là thực thi các lệnh và điều
khiển quá trình làm việc của các khối khác..
Bộ tạo dao động tạo xung clock CPU làm việc, bộ tạo dao động có thể tạo
nhiều tần số khác nhau do người sử dụng cấu hình.
Điều khiển reset cho phép vi điều khiển bắt đầu lại quá trình hoạt động và đưa
vi điều khiển đến trạng thái hoạt động ổn định..
Watch Dog Timer được sử dụng để phát hiện các lỗi vòng lặp của phần mềm.
Sleep Timer có thể làm cho vi điều khiển hoạt động trở lại từ chế độ ngủ. Nó
cũng có thể được sử dụng như là một bộ đếm thời gian.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
9
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
InPut – outPut Pins cho phép kết nối giữa khối CPU, khối số và các khối
tương tự lập trình được và thế giới bên ngoài..
Digital Programmable Blocks được sử dụng để cấu hình các thành phần số
như PWM, Timer, counter,…do người sử dụng chọn.
Analog Programmble Blocks được sử dụng để cấu hình cho phần analog, như
là bộ chuyển đổi AD và DA, bộ lọc, bộ nhận DTMF, khuếch đại.
I2C Controller điều khiển giao tiếp I2C.
Voltage Reference (điện áp tham chiếu) cần cho hoạt động của các thành
phần analog bên trong các khối analog.(Ví dụ như điện áp tham chiếu cho bộ ADC)
Mac Unit sử dụng để nhân các số 8 bit có dấu.
SMP dùng để chuyển mạch nguồn cho PSOC qua nguồn pin dự trữ khi nguồn
điện chính mất
2.2.2 Cấu trúc CPU
Cấu trúc của VĐK PSOC theo kiến trúc Harvard, trong đó phân biệt rõ ràng bộ nhớ dữ
liệu và bộ nhớ chương trình, chúng có những bus riêng để truy cập vào bộ nhớ dữ liệu
và bộ nhớ chương trình. Bộ nhớ chương trình là bộ nhớ Flash. Đối với CYP29566, bộ
nhó chương trình lên đến 32K.
Các thanh ghi bên trong CPU:
Program counter (PC) Bộ đếm chương trình.
Stack Pointer (SP) Con trỏ ngăn xếp.
Accumulator register (A) thanh ghi chứa
Index Register (X) thanh ghi chỉ số.
Flag Register (F) thanh ghi cờ.
Arithmetic Logic Unit (ALU) khối logic và số học, để tính toán các phép tính số
học (cộng từ nhân chia ) và thực hiện những phép logic (and, or, shift…)
2.2.3 Bộ tạo tần số:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
10
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Tạo ra nhiều tần số khác nhau cho CPU, và xung clock cho các khối khác hoạt động
nhờ vào bộ tạo dao động bên trong cũng như bộ dao động thạch anh bên ngoài. Bên
trong bộ tạo tần số này có các mạch chia tần số với hệ số chia tùy chọn bởi người sử
dụng.
2.2.4 Mạch RESET:
2.2.5 Đầu vào và ra của tín hiệu số:
Kết nối giữa VĐK PSoC với thế giới bên ngoài qua các chân I-O. Việc truy xuất các
cổng được thông qua các thanh ghi PRT0DR, PRT1DR, PRT2DR, PRT3DR, PRT4DR
hoặc PRT5DR.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
11
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
2.2.6 Drive Mode:
Các chân của VĐK PSOC có khả năng cấu hình ở nhiều chế độ khác nhau thông
qua thanh ghi PRTxDMx.
Sơ đồ cấu trúc bên trong của 1 chân PSOC như hình vẽ:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
12
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
2.2.7 Truy cập các khối số lập trình đƣợc:
Các thành phần số, được lưu trữ bên trong các khối lập trình được, mà không
phải được nối trực tiếp tới các chân I-O. Điều đó được thực hiện theo cách chỉ ra theo
hình vẽ dưới đây, miêu tả nhóm 4 khối lập trình số. như có thể thấy, chân kết nối được
thiết lập sử dụng đường kết nối toàn cục, bộ đa hợp và các đường của các khối lập
trình. PsoC có thể có 1, 2, hay 4 nhóm khối lập trình số như khối này phụ thuộc vào họ
của chúng.
2.2.8 Các đƣờng input toàn cục (Global input line):
Global input line thiết lập kết nối giữa những chân và những bộ đa hợp đầu vào. Global
input line được chia cắt trong hai nhóm, phụ thuộc vào thời tiết chúng có thể nối tới
những cổng với (GIO) lẻ hay chẵn (GIE). Quy kết nối: GIO nối với các Port lẻ, chỉ số
của đường GIO trùng với chỉ số của port, tương tự cho GIE. Chẳng hạn, hàng GIO_0
có thể chỉ nối tới chân 0 của một số những cổng chỉ số lẻ ( P1[0],P3[0],P5[0]).
2.2.9 Bộ chọn kênh đầu vào:
Đầu vào bộ chọn kênh lựa chọn một trong những global lines và nối nó tới các block
lines (RI[0]….RI[4]).
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
13
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
2.2.10 Khối số khả trình:
Bên trong của khối số khả trình, người dùng có thể chỉnh sửa các thành phần
như bộ định thời, bộ đếm, PWM, PRS, CRC và các thiết bị cho SPI, IrDA và giao
tiếp UART mà chúng ta có thể thay đổi phần cứng của hệ thống cho những mục
đích sử dụng đặc biệt. Quá trình cài đặt và kết nối dùng PSoC Designer rất dễ hiểu,
nhưng đầu tiên phải nắm bắt được chức năng của những thành phần này. Hầu hết
các thành phần, như bộ đếm, PRS và CRC có thể được chứa ở bất kỳ block trống
nào. Mặt khác, sự giao tiếp giữa các thành phần như Rx, Tx, UART và SPI có thể
được đặt bên phải của khối khả trình.
Số lượng block cần thiết khi sử dụng cho các thành phần được liệt kê như bảng dưới:
Số
block
Thành phần
1 Counter8, Timer8, PWM8, PRS8, RX8/TX8, SPIM/SPIS
2 Counter16, Timer16, PWM16, PRS16, PWMDB8, CRC16, UART,
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
14
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Số
block
Thành phần
IrDARx/IrDATx
3 Counter24, Timer24, PWMDB16
4 Counter32, Timer32
2.2.11 Tín hiệu CLK
Tín hiệu này cần thiết cho các thành phần số làm việc. Tùy thuộc vào tốc độ yêu
cầu, có một dãy tần số được được tạo sẵn để chọn từ:
Tần số tín hiệu trong VC1, VC2, VC3, SYSCLKx2, CPU_32
Bên ngoài từ những khối kề nhau
Đường broacast chung (BC)
Row Input (RI) hay Row Output (RO) .
Hầu hết tín hiệu chung ở trong là VC1, VC2 và VC3, bởi vì khi sử dụng thanh ghi
prescalers khác nhau, chúng cho phép vượt qua dãy tần số nhất định. Nếu các tín hiệu
VC1,VC2 và VC3 không tạo nên tần số đặc biệt, bên ngoài từ bộ Counter, Timer hay
PWM, được sử dụng như những prescalers phụ. Những gạch đứt ở hình trên mô tả
đường nối để nối đầu ra của block trước với đầu vào của block tiếp theo. Trường hợp
tín hiệu cần thiết để được đi chéo qua vài block, kết nối như vậy được thực hiện trên
BC đường tần số broacast chung (BC).
2.2.12 Tín hiệu input
Hầu hết các thành phần, ngoài tín hiệu CLK đều có một hoặc hai tín hiệu input. Ví
dụ như ở trong trường hợp của một bộ đếm hay PWM, tín hiệu input được dùng cho
việc đếm. Những khả năng khác nhau trong việc lựa chọn những tín hiệu input:
Khối input lines (RI), thành phần của tín hiệu ngoài.
Khối output lines (RO), thành phần của cascading
Analog block comparator lines
Tín hiệu logic 1 (cao)
Tín hiệu logic 0 (thấp).
2.2.13 Tín hiệu output
Tín hiệu output được dùng để kết nối các khối khả trình với output lines RO. Tín
hiệu có thể được gửi từ output lines đến đầu ra của vi điều khiển hay đầu vào của vài
thành phần. Đầu ra multiplexer dùng để nối những khối khả trình với những đường ra
chung.
2.2.14 Multiplexer
Tùy vào loại multiplexer, những đường output (RO) hay input (RI) của khối khả
trình được nối.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
15
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
2.2.15 Mạch logic
Tín hiệu chọn được mang đến đầu ra của mạch logic. Đầu vào khác có thể dùng
một vài đường kề nhau của khối khả trình. Mạch logic có thể:
Cho qua một hoặc hai tín hiệu
Đảo tín hiệu vào
Thực hiện những phép AND, OR hay XOR …
2.2.16 Output drivers
Mạch ra logic có thể được gửi đến bốn output drivers mà có thể nối đến một hay
nhiều đường ra chung. Đường của khối khả trình với vài chỉ số có thể được nối đến
GOO hoặc GOE với chỉ số giống nhau hoặc gấp 4 lần. Những đường ra chung nối giữa
các drivers và pins. Chúng được tách thành 2 nhóm, phụ thuộc vào nơi chúng có thể
được nối đến cổng hay với chỉ số lẻ (FGIO) hay chẵn (GIE). Chỉ những đường và chân
với chỉ số giống nhau mới được nối liền. Bên cạnh điều đó có một khả năng để thiết
lập một kết nối giữa những hàng đầu vào và đầu ra, mà cho phép xử lý bổ sung tín hiệu
vào.
2.2.17 Điều khiển ngắt
Khi có ngắt, bộ điều khiển ngắt lưu kiểu ngắt.
Chờ cho thực thi xong lệnh hiện thời.
Nếu ngắt được cho phép và cho phép ngắt toàn cục được đặt bằng 1 (GIE= 1),
sự xử lý ngắt bắt đầu. Tiếp tục, stack lưu những giá trị của thanh ghi PCH, PCL
và F.
Sự kiện ngắt mới bị disable bằng cách thiết lập giá trị của thanh ghi F bằng 0
(GIE = 0).
Bộ đếm chương trình được đặt tới địa chỉ của thủ tục ngắt.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
16
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Chương trình thực hiện các lệnh thủ tục ngắt.
Khi nó tới lệnh reti, nó sẽ trở lại hương trình chính, những giá trị của thanh ghi
F được khôi phục từ stack, và bộ đếm chương trình được đặt lại tới giá trị trước
khi ngắt xuất hiện.
2.2.18 Không gian địa chỉ
PSoC có ba không gian địa chỉ:
ROM
RAM
Các thanh ghi
- Program memory
Bộ nhớ chương trình là phần của ROM, được sử dụng để lưu mã chương trình,
được ghi trong bộ nhớ được viết bằng việc lập trình phần cứng. Bộ nhớ chương trình
được thực hiện bằng công nghệ FLASH. Kích thước bộ nhớ Chương trình phụ thuộc
vào họ PsoC, có thể là 2, 4, 8, 16 và 32 kB.
- Supervisory ROM
Supervisory ROM là phần của ROM mà được sử dụng trong suốt thời gian khởi
động của PSoC, Với chỉ dẫn SSC đặc biệt, nó có thể truy cập một phần bộ nhớ.
- RAM
RAM cho phép sự lưu trữ những biến và stack được sử dụng trong thời gian làm
việc của vi điều khiển. Kích thước của đa số PsoC là 256 byte. Khi vi điều khiển có
hơn 256 byte RAM (dòng CY8C29xx và CY8C21x34), bộ nhớ được tổ chức trong 256
trang byte, với stack ở trên trang cuối cùng.
- Thanh ghi
Vùng địa chỉ thanh ghi chứa đựng những thanh ghi được dùng cho các thiết lập
toàn cục cho các khối ngoại vi và những khối lập trình được của một PSoC. PSoC có
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
17
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
512 thanh ghi, mà được nhóm lại trong hai bank 256 bytes. Để truy nhập thanh ghi
nào đó, bên cạnh tình trạng tên của nó, cái gì cần sẽ cũng xác định tên trong bank . Sự
truy nhập tới bank xác định bằng cách sử dụng macro M8C_SetBank0 và
M8C_SetBank1, xóa hay thiết lập bit XIO ở thanh ghi CPU_F.
2.3 Module WirelessUSB LR 2.4-GHz DSSS Radio SoC CYWUSB6935:
2.3.1 Các đặc điểm của CYWUSB6935:
Hoạt động ở tần số 2.4-GHz.
Được dùng trong lĩnh vực công nghiệp, y khoa, khoa học với băng tần từ
2.4GHz-2.483GHz.
Độ nhạy là -95dBm.
Công suất ra tối đa 0dBm.
Khoảng cách truyền và nhận tối đa là 50m.
Tốc độ truyền dữ liệu đạt đến 62.5kbps.
Độ tích hợp cao với giá thành thấp, yêu cầu số thành phần bên ngoài là nhỏ
nhất.
Sử dụng giao thức truyền SPI.
Tần số hoạt động xung clock đầu vào là 13MHz.
Dòng dự phòng dưới 1 A.
Nhiệt độ hoạt động từ -40
0
C đến 85
0
C.
2.3.2 Các ứng dụng:
Trong lĩnh vực tự động:
- Điều khiển khí hậu và ánh sáng.
- Các thiết bị thông minh.
- Hệ thống cảnh báo và bảo vệ.
Điều khiển trong công nghiệp:
- Quản lý trong kiểm kê.
- Nhà máy tự động.
- Tiếp nhận dữ liệu.
Trong đo lường tự động.
Máy tính:
- Điều khiển từ xa.
- Các công cụ dẫn chương trình.
- Hệ thống cảnh báo.
2.3.3 Sơ đồ khối của CYWUSB6935:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
18
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
2.3.4 Chức năng tổng quát của CYWUSB6935:
CYWUSB6935 được thiết kế thành thiết bị wireless hoạt động trong công
nghiệp, khoa học, y khoa với băng tần 2.4GHz-2.4835GHz. CYWUSB6935 bao gồm 1
bộ thu phát sóng vô tuyến tần số 2.4GHz, 1 modem GFSK. CYWUSB6935 hỗ trợ
khoảng cách truyền tối đa là 50m.
Máy thu phát 2.4GHz:
Bộ truyền và nhận là bộ chuyển đổi đơn, kiến trúc tần số trung tần thấp kết hợp
với bộ lọc nhiễu. Tích hợp bộ khuyếch đại công suất để điều khiển công suất ra trong
phạm vi 30dB. Cả bộ truyền và nhận đều tích hợp bộ VCO (dao động điều khiển bởi
điện áp) và bộ tổng hợp. Bộ tổng hợp tần số cung cấpbộ dao động nhảy tần nội tại cho
bộ phát và bộ nhận.
Modem GFSK:
Máy phát sử dụng bộ điều chế DSP cơ sở để chuyển đổi tần số 1MHz chip thành
sóng mang GFSK. Máy thu sử dụng bộ tách sóng FM với bộ tự động chia dữ liệu để
giải điều chế tín hiệu GSFK.
Bộ chuyển đổi nối tiếp Serializer và bộ chuyển đổi ngƣợc nối tiếp
Deserialzer:
CYWUSB6935 cung cấp dữ liệu cho bộ Serialzer/Deserialzer (SERDES), nó
cung cấp khung byte của dữ liệu truyền và nhận. Các byte truyền được đưa vào
SERDES và các byte nhận được đọc từ SERDES bên ngoài qua giao thức SPI.
SERDES cung cấp cặp dữ liệu đệm truyền và nhận. Trong khi 1 byte được truyền bởi
sóng vô tuyến thì byte tiếp theo có thể được viết đến thanh ghi SERDES để đảm bảo
chắc chắn không đứt dữ liệu đã truyền.
Sau khi nhận 1 byte thì nó sẽ được đưa vào thanh ghi SERDES và có thể đọc bất
kỳ lúc nào cho đến khi byte tiếp theo được nhận, khi đó nội dung cũ của thanh ghi sẽ
được viết đè lên.
Các giao thức ứng dụng:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
19
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
CYWUSB6935 có đầy đủ các giao thức SPI thụ động đồng bộ cho các kết nối
đến ứng dụng của MCU. Cấu hình và dữ liệu byte truyền có thể được thực hiện thông
qua giao thức này.
Kiểu SERDES (DIO) được cung cấp cho các ứng dụng yêu cầu đồng bộ đường
dữ liệu nối tiếp. Giao thức này chỉ được dùng cho truyền bit dữ liệu.
Bộ chỉ thị độ dài tín hiệu nhận RSSI (Receive signal strength indicator):
Thanh ghi RSSI (Reg 0x22) trả lại độ dài của tín hiệu nhận kênh ON và được
dùng để:
- Xác định chất lượng kết nối.
- Xác định giá trị nhiễu.
- Kiểm tra kênh trước khi truyền.
Điện áp trong RSSI được lấy mẫu qua 5 bit của bộ chuyển đổi ADC. Một khi sự
kết nối đã được thiết lập, thanh ghi RSSI có thể được đọc để xác định chất lượng kết
nối của kênh. Giá trị của thanh ghi dưới 10 cho biết chiều dài tín hiệu nhận là thấp, còn
giá trị lón hơn 28 thì chiều dài tín hiệu là dài.
Để kiểm tra kênh truyền trước khi truyền, trước hết thiết lập kiểu nhận cho đúng
giá trị của thanh ghi RSSI (Reg 0x22). Nếu giá trị bit là 0, sau đó tác động thanh ghi
Carrier Detect (Reg 0x2F, bit7=1) để khởi động bộ chuyển đổi ADC. Sau đó, chờ hơn
50s và tiếp tục đọc giá trị RSSI. Tiếp theo xóa thanh ghi Carrier Detect và điều chỉnh
bộ nhận là OFF. Đo mức độ nhiễu của kênh tức là xử lý nhiễu, để có kết quả tốt nhất,
thủ tục này nên lập lại nhiều lần (khoảng 20 lần) để tính toán trung bình mức độ nhiễu
của kênh. Giá trị của thanh ghi RSSI từ 0-10 tức là tín hiệu trên kênh truyền yếu. Còn
giá trị lớn hơn 10 cho rằng kênh hầu như đang được sử dụng.
Giao thức SPI:
CYWUSB6935 có 4 dây giao thức SPI giao tiếp giữa ứng dụng MCU và 1 hoặc
các thiết bị thứ cấp khác.
Giao thức SPI hổ trợ truyền byte đơn và nhiều byte nối tiếp. Bốn dây giao thức
SPI giao tiếp bao gồm Master Out-Slave In (MOSI), Master In-Slave Out (MISO),
Serial Clock (SCK), và Slave Select. SPI nhận xung SCK từ MCU trên chân SCK. Dữ
liệu từ MCU được dịch trên chân MOSI. Dữ liệu từ MCU đưa ra chân MISO. Chân
Slave Select ở mức thấp cần được xác nhận để khởi động bộ truyền SPI.
MCU có thể khởi động bộ truyền dữ liệu SPI theo đường quản lý nhiều byte.
Byte đầu tiên là byte Command/Address, và byte tiếp là các byte dữ liệu.Tín hiệu Slave
Select không nên chọn giữa các byte. Giao tiếp SPI như sau:
- Bit 7=0: SPI đọc. Bit 7=1:SPI ghi.
- Bit 6=1: SPI tự động tăng địa chỉ. Khi thiết lập, địa chỉ tự động tăng tại mỗi
byte cuối trong truy cập nhóm bit truyền, nếu không thì các địa chỉ tương tự
được truy cập.
- 6 bit là địa chỉ.
- 8 bit của dữ liệu.
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
20
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
2.3.5 Các ngắt:
CYWUSB6935 có ba kiểu ngắt: ngắt truyền, ngắt nhận và khởi động. Tất cả
được chia sẽ bởi một chân IRQ, nhưng có thể độc lập enabled/disabled. Trong kiểu
truyền, tất cả các ngắt nhận tự động disabled, và trong kiểu nhận tất cả các ngắt truyền
đều disabled. Tuy nhiên nội dung thanh ghi được bảo tồn khi chuyển đổi giữa kiểu
truyền và kiểu nhận.
Các ngắt được enable và trạng thái đọc thông qua 6 thanh ghi: Receive Interrup
Enable (Reg 0x07), Receive Interrup Status (Reg 0x08), Transmit Interrup Enable (Reg
0x1C), Wake Status (Reg 0x1D).
Nếu có hơn 1 ngắt được enable tại bất kỳ một thời điểm nào, nó cần thiết phải
đọc trạng thái ưu tiên của thanh ghi ngắt để xác định việc nào đựoc IRQ xác nhận. Còn
khi nguồn ngắt là disabled, điều kiện trạng thái sẽ gây ra một ngắt khác có thể đựoc xác
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
21
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
định bởi đọc trạng thái của thanh ghi tương tự. Vì vậy nó có thể sử dụng các thiết bị mà
không cần sử dụng các chân ngắt. Chương trình cơ sở có thể thăm dò trạng thái của
thanh ghi ngắt để chờ khi có việc hơn là sử dụng chân IRQ.
Ngắt khởi động Wake Interrup:
Khi chân PD ở mức thấp, bộ dao động bị dừng. Sau khi chân PD không đựoc
xác nhận, bộ dao động thiết lập thời gian để bắt đầu, và cho đến khi nó làm tốt, nó
không được chắc chắn để sủ dụng giao thức SPI. Ngắt khởi động chỉ định bộ dao động
đã đựoc bắt đầu và thiết bị đã sẵn sàng để nhận bộ truyền SPI.
Ngắt khởi động được enable bằng cách thiết lập bit 0 của thanh ghi Wake
Enable (Reg 0x1C), bit 0=1). Dù thanh ghi khởi động treo hay không thì nó được chỉ
định bởi trạng thái bit 0 của thanh ghi Wake Status (Reg 0x1D), bit 0).
Các ngắt truyền:
Bốn ngắt được cung cấp đến cờ khi có sự truyền. Các ngắt được enabled bằng
cách ghi đến thanh ghi Transmit Interrup Enable (Reg 0x0D), và những trạng thái đó
có thể được xác định bằng cách đọc trạng thái thanh ghi Transmit Interrup Status (Reg
0x0E). Nếu có hưon 1 ngắt được enabled, thì rất cần thiết đọc trạng thái thanh ghi
Transmit Interrup Status để xác định việc nào được chân IRQ xác nhận.
Các ngắt nhận:
Có 8 ngắt đựoc cung cấp đến cờ khi việc nhận tín hiệu xảy ra, mỗi 4 ngắt là cho
SERDES A và B. Trong kiểu DDR 64 chips/bit và 32 chips/bit, chỉ có ngắt SERDES A
là available, và ngắt SERDES B sẽ không bao giờ kích khởi dù là enabled. Các ngắt
được enabled bằng cách ghi đến thanh ghi Receive Interrup Enable (Reg 0x07), và các
trạng thái đó có thể được xác định bằng cắch đọc trạng thái của thanh ghi Receive
Interrup Status (reg 0x08). Nếu có hơn 1 ngắt được enabled, thì cần phải đọc trạng thái
thanh ghi Receive Interrup Status để xác định việc nào được chân IRQ xác nhận.
2.3.6 Các thanh ghi của CYWUSB6935:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
22
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Thanh ghi điều khiển:
Thanh ghi REG_CONFIG:
Thanh ghi REG_SERDES_CTL:
Thanh ghi REG_RX_INT_EN:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
23
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Thanh ghi Reg_RX_INT_STAT:
Thanh ghi REG_RX_DATA_A:
Thanh ghi REG_RX_VALID_A:
Thanh ghi REG_RX_DATA_B:
Thanh ghi REG_RX_VALID_B:
Thanh ghi REG_TX_INT_EN:
Thanh ghi REG_TX_INT_STAT:
Thanh ghi REG_TX_DATA:
Thanh ghi REG_TX_VALID:
Thanh ghi REG_RSSI:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
24
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Thanh ghi REG_CLOCK_MANUAL:
Thanh ghi REG_CLOCK_ENABLE:
Thanh ghi REG_PA:
Nhóm 01 – Lớp 04ĐT2 – Khoa ĐTVT – ĐHBK Đà Nẵng
25
GIÁM SÁT, ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA CỔNG PARALLEL DÙNG WIRELESS
Phần 3: SƠ ĐỒ MẠCH VÀ LƢU ĐỒ THUẬT TOÁN
3.1 Cấu hình phần cứng trên PSOC Cyp29566.
3.1.1 Khối giao tiếp SPI Master
Đặc điểm của khối SPI
- Hỗ trợ giao thức SPI Master
- Hỗ trợ mode 0,1,2,3
- Nguồn xung Clock và MISO đầu vào tùy chọn được
- Kết nối ngõ ra cho MOSI và chân CLK tùy chọn được
- Ngắt lập trình được
- Có thể chọn thiết bị SPI Slave độc lập .
Sơ đồ khối:
Các thiết lập phần cứng:
Các thiết lập cho khối này như hình vẽ: