Mạch sản phẩm sau quá trình nghiên cứu

Một phần của tài liệu Giao tiếp với đường truyền điện thoại bằng vi điều khiển (Trang 64)

KẾT LUẬN

Sau một thời gian nghiên cứu, thiết kế, chế tạo và thực nghiệm. Được sự hướng dẫn tận tình của thầy PGS. TS. Ngô Diên Tập cũng như thầy đã tạo điều kiện thuận lợi để tôi có thể thực hiện việc thí nghiệm, kiểm tra mạch. Tôi đã rút ra được rất nhiều điều bổ ích từ việc nghiên cứu lý thuyết đơn thuần đến tạo ra được sản phẩm ứng dụng trên nền lý thuyết đã nghiên cứu. Sau rất nhiều lần thực nghiệm đến nay mạch đã hoàn thành, cơ bản đã đáp ứng được yêu cầu đề ra.

Tuy nhiên vì năng lực bản thân còn hạn chế, cũng như điều kiện công tác cho nên đến nay mạch vẫn chưa khai thác hết các phần phát triển. Tôi sẽ tiếp tục nghiên cứu, khai thác và phát triển phần giải mã thông tin người gọi. Sẽ kết nối mạch với máy tính tạo nên một tiện ích cho cuộc sống cũng như có thể điều khiển các thiết bị ở nhà khi đi ra khỏi nhà.

Cuối cùng tôi xin cám ơn tập thể thầy cô giáo khoa Điện tử Viễn thông trường Đại học Công nghệ trực thuộc trường Đại học Quộc gia Hà nội đã tạo điều kiện giúp đỡ để tôi có thể hoàn thành khóa luận này.

TÀI LIỆU THAM KHẢO

Tiếng việt

1. Nguyễn Tiến Ban (2007), Kỹ thuật viễn thông, Giáo trình của Học viện công nghệ bưu chính viễn thông, tr. 81-98.

2. Ngô Mỹ Hạnh (2006), Mạng thế hệ sau và tiến trình chuyển đổi, Nhà xuất bản bưu điện, tr. 7–13, 31-34, 135-140.

3. Nguyễn Hồng Sơn (2000), Cơ sở kỹ thuật chuyển mạch và tổng đài, Nhà xuất bản giáo dục, tr. 75-79.

4. Ngô Diên Tập (2006), Vi điều khiển với lập trình C, Nhà xuất bản Khoa học và Kĩ thuật Hà nội.

5. Nguyễn Duy Nhật Viễn (2007), Bài giảng môn Tổng đài điện tử, Giáo trình Khoa ĐTVT Trường Đại học Đà nẵng, tr. 4.1-4.14.

Tiếng Anh

6. Custom Computer Services (2009), C compile Reference Manual

7. Exar comporation (1997), Designing Caller Identification Delivery Using XR-2211.

8. http://www.ccsinfo.com

9. http://www.microchip.com/pickit2

10. http://www.datasheelarchive.com

11. http://www.dialabc.com/sound/dtmf.html

12. Microchip (2008), PICkit 2 programmer/ Debugger User’ Guide.

13. Steven J. Merifield (1994), DTMF Encode & Decode , School of Electronic Enginering of Australia, pp 8-13.

PHỤ LỤC

4.1 Khảo sát Vi điều khiển PIC16F877A 4.1.1 Các đặc tính

Đây là Vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 chân I/O.

Các đặc tính ngoại vi bao gồm các khối chức năng sau: - Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.

- Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi Vi điều khiển hoạt động ở chế độ sleep.

- Timer2: bộ đếm 8 bit với bộ chia tần số. - Hai bộ bắt giữ/so sánh/điều chế độ rộng xung.

- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. - Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.

- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài.

Các đặc tính tương tự:

- 8 kênh chuyển đổi ADC 10 bit. - Hai bộ so sánh.

Các đặc tính đặc biệt

- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.

- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.

- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.

- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.

- Nạp chương trình thông qua ICSP - Watchdog Timer với bộ dao động trong.

- Chức năng bảo mật mã chương trình. - Chế độ Sleep.

- Có thể hoạt động với nhiều dạng Oscillator khác nhau.

Công nghệ CMOST

- Công suất tiêu thụ thấp, tốc độ ghi đọc nhanh - Điện áp làm việc từ 2,0V đến 5,5 V

4.1.2 Sơ đồ khối

Tên chân Chân I/O/P Mô tả

OSC1

CLKIN 13 I

Đầu vào của xung dao động thạch anh Chân vào xung clock ngoài

OSC2

CLKOUT 14 O

Đầu ra của xung dao động thạch anh. Nối với thạch anh hay cộng hưởng trong chế độ dao động của thạch anh.

MCLR/Vpp 1 I/P

Chân vào của Master Clear (Reset) hoặc chân vào điện thế được lập trình. Chân này cho phép tín hiệu Reset thiết bị tác động ở mức thấp.

RA0/AN0 2 I/O PORTA là port vào ra hai chiều.

AN0 có thể làm chân vào tương tự thứ 0.

RA1/AN1 3 I/O AN1 có thể làm chân vào tương tự thứ 1.

RA2/AN2/ VREF –

4 I/O AN2 có thể làm chân vào tương tự 2 hoặc điện áp chuẩn

tương tự âm. RA3/AN3/

VREF + 5 I/O

AN3 có thể làm chân vào tương tự 3 hoặc điện áp chuẩn tương tự dương.

RA4/T0CKI 6 I/O RA4 có thể làm chân vào xung clock cho bộ định thời

C1OUT Timer0. Đầu ra của bộ so sánh 1. RA5/AN4

SS/C2OUT 7 I/O

AN4 có thể làm chân vào tương tự thứ 4. Chân vào SPI Đầu ra của bộ so sánh 2. RB0/INT RB1 RB2 33 34 35 I/O I/O I/O

PORTB là cổng vào ra hai chiều. Có thể được lập trình INT có thể làm chân ngắt ngoài.

RB3/PGM 36 I/O PGM có thể làm chân vào của điện thế được lập trình ở mức thấp.

RB4 RB5 RB6/PGC RB7/PGD 37 38 39 40 I/O I/O I/O I/O

PGC là chân dao động cho giao tiếp ICSP PGD là chân dữ liệu cho giao tiếp ICSP

RC0/T1OSO

/T1CKI 15 I/O

PORTC là port vào ra hai chiều.

T1OSO là đầu ra của bộ dao động Timer1 T1CKI là chân xung đồng vào cho Timer1 RC1/T1OSI

/CCP2 16 I/O

T1OSI là chân vào của bộ dao động Timer1

CCP2 là chân vào bộ giữ 2/chân ra bộ so sánh2/chân vào PWM 2.

RC2/CCP1 17 I/O CCP2 là chân vào bộ giữ 1/chân ra bộ so sánh1/chân

vào PWM 1 RC3/SCK/

SCL 18 I/O

SCK là chân vào ra xung đồng hồ cho chuẩn SPI SCL là chân vào ra xung đồng hồ cho chuẩn I2C RC4/SDI/

SDA 23 I/O

SDI là chân vào dữ liệu cho chuẩn SPI SDA là chân vào ra dữ liệu cho chuẩn I2C

RC5/SDO 24 I/O SDO có thể là chân ra dữ liệu cho chuẩn SPI

RC6/TX/CK 25 I/O TX có thể là chân truyền không đồng bộ USART CK là chân xung đồng hồ bất đồng bộ USART1

RC7/RX/DT 26 I/O RX có thể là chân nhận không đồng bộ USART DT là chân dữ liệu đồng bộ USART.

RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 19 20 21 22 27 28 29 30 I/O I/O I/O I/O I/O I/O I/O I/O

PORTD là cổng vào ra hai chiều

PORTD là cổng PSP khi giao tiếp với bus của bộ vi xử lý.

RE0/RD/ AN5

8 I/O PORTE là port vào ra hai chiều.

RD có thể điều khiển việc đọc PSP AN5 có thể là chân vào tương tự thứ 5.

RE1/WR/

AN6 9 I/O

WR có thể điều khiển việc ghi PSP AN6 là chân vào tương tự thứ 6. RE2/CS/

AN7 10 I/O

CS có thể điều khiển việc chọn PSP AN7 là chân vào tương tự thứ 7 Vss VDD 12, 31 11, 32 P P

Cung cấp nguồn dương cho các mức logicvà những chân I/O.

Ghi chú: I = input O = output I/O = input/output P = power Bảng 3: Mô tả chức năng các chân của PIC16F877A

4.1.3 Tổ chức bộ nhớ 4.1.3.1 Bộ nhớ chương trình

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 = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3). Như vậy bộ nhớ chương trình có khả năng chứa được 8x1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word). Để 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. Khi Vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h. Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h. Bộ nhớ chương trình không bao gồm bộ nhớ ngăn xếp và không được địa chỉ hóa bởi bộ đếm chương trình.

4.1.3.2 Bộ nhớ dữ liệu

Bộ nhớ dữ liệu của Vi điều khiển được chia ra làm 4 khoảng nhớ. Mỗi khoảng nhớ 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 chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong khoảng nhớ. 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 khoảng nhớ 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.

4.1.4 Các cổng truy xuất của MCU

Cổng truy xuất (I/O port) chính là phương tiện mà Vi điều khiển dùng để tương tác với thế giới bên ngoài. Sự tương tác này rất đa dạng và thông qua quá trình tương tác đó, chức năng của Vi điều khiển được thể hiện một cách rõ ràng. Một cổng truy xuất của Vi điều khiển bao gồm nhiều chân (I/O chân), tùy theo cách bố trí và chức năng của Vi điều khiển mà số lượng cổng truy xuất và số lượng chân trong mỗi cổng có thể khác nhau. Bên cạnh đó, do Vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng truy xuất thông thường, một số chân truy xuất còn có thêm các chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối với thế giới bên ngoài. Chức năng của từng chân truy xuất trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFR liên quan đến chân truy xuất đó. Vi điều khiển PIC16F877A có 5 cổng truy xuất, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE. Cấu trúc và chức năng của từng cổng truy xuất sẽ được đề cập cụ thể trong phần sau.

4.1.4.1 PORTA và thanh ghi TRISA

PORTA bao gồm 6 I/O chân. Đây là các chân vào ra hai chiều, nghĩa là có thể xuất và nhập được. Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Muốn xác lập chức năng của một chân trong PORTA là vào, ta đặt bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong PORTA là ra, ta xóa bit điều khiển tương ứng với chân đó trong thanh ghi TRISA. Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều khiển tương ứng TRIS (đối với PORTA là TRISA, đối với PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD và đối với PORTE là TRISE). Bên cạnh đó PORTA còn là chân ra của bộ ADC, bộ so sánh, chân vào tương tự chân vào xung đồng hồ của Timer0 và chân vào của bộ giao tiếp MSSP (Master Synchronous Serial Port).

Các thanh ghi SFR liên quan đến PORTA bao gồm:

- Thanh ghi PORTA (địa chỉ 05h): chứa giá trị các chân trong PORTA. - Thanh ghi TRISA (địa chỉ 85h): điều khiển truy xuất.

- Thanh ghi CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh.

- Thanh ghi CVRCON (địa chỉ 9Dh): thanh ghi điều khiển bộ so sánh điện áp. - Thanh ghi ADCON1 (địa chỉ 9Fh): thanh ghi điều khiển bộ ADC.

4.1.4.2 PORTB và thanh ghi TRISB

PORTB gồm 8 chân I/O. Thanh ghi điều khiển truy xuất tương ứng là TRISB. Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chương trình cho Vi điều khiển với các chế độ nạp khác nhau. PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0. PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình.

Các thanh ghi SFR liên quan đến PORTB bao gồm:

- Thanh ghi PORTB (địa chỉ 06h,106h): chứa giá trị các chân trong PORTB - Thanh ghi TRISB (địa chỉ 86h,186h): điều khiển truy xuất

- Thanh ghi OPTION_REG (địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0.

4.1.4.3 PORTC và thanh ghi TRISC

PORTC gồm 8 chân I/O. Thanh ghi điều khiển truy xuất tương ứng là TRISC. Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART.

Các thanh ghi điều khiển liên quan đến PORTC:

- Thanh ghi PORTC (địa chỉ 07h): chứa giá trị các chân trong PORTC - Thanh ghi TRISC (địa chỉ 87h): điều khiển truy xuất.

4.1.4.4 PORTD và thanh ghi TRISD

PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển truy xuất tương ứng là TRISD. PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port).

Các thanh ghi liên quan đến PORTD bao gồm:

- Thanh ghi TRISD(địa chỉ 88h): điều khiển truy xuất.

- Thanh ghi TRISE(địa chỉ 89h): điều khiển truy xuất PORTE và chuẩn giao tiếp PSP.

4.1.4.5 PORTE và thanh ghi TRISE

PORTE gồm 3 chân I/O. Thanh ghi điều khiển truy xuất tương ứng là TRISE. Các chân của PORTE có chân vào tương tự. Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP.

Các thanh ghi liên quan đến PORTE bao gồm:

- Thanh ghi PORTE(địa chỉ 09h): chứa giá trị các chân trong PORTE.

- Thanh ghi TRISE(địa chỉ 89h): điều khiển truy xuất và xác lập các thông số cho chuẩn giao tiếp PSP.

- Thanh ghi ADCON1(địa chỉ 9Fh): thanh ghi điều khiển khối ADC.

4.2 Khảo sát IC thu phát MT8880

MT8880 là một IC thu phát DTMF trọn bộ kèm theo một bộ lọc thoại. Bộ thu DTMF sử dụng phương pháp biến đổi D/A cho ra tín hiệu DTMF chính xác, ít nhiễu. Các bộ đếm bên trong giúp hình thành chế độ Brust. Nhờ vậy các

cặp âm tần xuất ra với thời gian chính xác. Bộ lọc thoại cho phép bộ xử lý phân tích các trạng thái âm tần đường dây. MT8880 có 5 thanh ghi bên trong để giao tiếp với MCU, có thể chia làm ba loại như sau :

- Nhận phát Data: hai thanh ghi. - Thanh ghi trạng thái: một thanh ghi - Nhận từ điều khiển: hai thanh ghi. Thuộc tính:

- Truyền nhận mã DTMF - Công xuất tiêu thụ thấp - Giao tiếp với cổng MCU - Chế độ xử lý tín hiệu thoại

Hình 4.4: Sơ đồ chân của MT8880

Chân Tên Mô tả

1 IN+ Chân không đảo

2 IN- Chân đảo

3 GS Chân chọn hệ số khuyếch đại

4 V Chân chuyển thế lối ra

5 VSS Chân đất

6 OSCC1 Chân vào xung đồng hồ

7 OSCC2 Chân ra xung đồng hồ

8 TONE Chân ra tín hiệu

9 R/W Chân đọc /Viết lối vào

10 CS Chân chọn chíp

11 RS0 Chân lựa chọn điện trở

12 2 Chân vào xung đồng hồ hệ thống

13 IRQ/CP Chân yêu cầu ngắt tới MCU

14-17 D0-D3 Bus xử lí dữ liệu của bộ vi xử lí

18 Est Lối ra mạch Steering

19 St/GT Lối vào thiết bị lái /Thời gian bảo vệ

20 VDD Nguồn cung cấp dương

4.2.1 Cấu hình vào

Thiết kế đầu vào của MT8880 cung cấp một bộ khuếch đại thuật toán đầu vào vi sai cũng như một đầu vào VRef để điều chỉnh điện áp cho đầu vào tại VDD/2. Chân GS giúp nối

Một phần của tài liệu Giao tiếp với đường truyền điện thoại bằng vi điều khiển (Trang 64)