tổng quan về psoc và điện thoại
Tổng quan về psoc họ c8yc27
PSoC bao gồm các thành phần chính như phần lõi PSoC, hệ thống số, hệ thống tương tự, hệ thống nguồn tài nguyên, các cổng vào ra và hệ thống Bus.
PSoC có kiến trúc Harvard, tốc độ xử lý nhanh:
Tốc độ xử lý tới 24MHz
Công suất tiêu thụ thấp nhng có tốc độ cao
Giải điện áp làm việc từ 3.0 Vdc đến 5Vdc
Khi điện áp nhỏ hơn 1.0V thì sử dụng chế độ máy bơm (SMP) trên chip
Khoảng nhiệt độ làm việc là từ: -40 0 C đến +80 0 C
Khối tơng tự cung cấp:
Lập trình hệ số khuếch đại
Lập trình các bộ lọc và bộ so sánh
Khối số cung cấp các chức năng tiêu biểu nh:
Timer, Couter, PWM từ 8 đến 32 bit
Hai bộ UART dạng Full Duplex
Giao diện truyền tin SPI (Master hoặc Slave)
Các Bus kết nối tất cả các chân GPIO
Bộ tạo dao động bên trong 24/48 MHz
Bộ tạo dao động bằng thạch anh 32KHz
Bộ tạo dao dộng bên ngoài: khoảng 24MHz
Bộ tạo dao động bên trong cho Watchdog và Sleep
16K bytes bộ nhớ lu trữ chơng trình Flash, 50000 lần chu kỳ xoá/viết
256 bytes bộ nhớ lu trữ dữ liệu SRAM
Vào ra công dụng chung (GPIO)
Điều khiển đầu ra tơng tự
Bộ tạo dao động chính bên trong (IMO)
Bộ tạo dao động tốc độ thấp bên trong (ILO)
Bộ tạo dao động thạch anh 32khz (ECO)
SROM Bé nhí Flash bÒnM8C
Sơ đồ 1: Kiến trúc tổng quát
M8C có kiến trúc Harvard, tốc độ xử lý từ 93,7 KHz đến 24 MHz Nó có
5 thanh ghi trong đợc sử dụng khi thực hiện chơng trình:
Thanh chứa (A) có độ dài là 32 bit
Bộ đếm chơng trình (PC), có độ dài là 16 bit
Con trỏ ngăn xếp (SP), có độ dài là 16 bit
Các cờ (F), có độ dài là 8 bit
SROM bao gồm: khối SROM vật lý và lu trữ mã cho PSoC Mô tả kiến trúc:
Bảng các hàm của Srom:
Bảng 1: Bảng các hàm của SROM
C á c hàm của SROM đợc truy cập bởi chỉ dẫn SSC, nó có mã hàm là 00h
Nếu ta gọi mã lệnh để sử dụng mà không định nghĩa các chức năng trong SROM thì ta dùng hàm: halt
Tất cả các hàm của SROM đều có khối thông số ở SRAM Ta phải định nghĩa trớc khi thực hiện gọi hàm SSC.
Bảng 2: Các biến hàm của SROM
Tên biến địa chỉ ở SRAM
Hai biến quan trọng đợc sử dụng cho tất cả các hàm là KEY1-KEY2.
Nó giúp phân biệt giữa SSC hợp lệ và SSC không chắc chắn KEY1 luôn có giá trị 3Ah (KEY1 = 3Ah), trong khi KEY2 phải có giá trị t, tương ứng với con trỏ ngăn xếp khi hàm SROM bắt đầu Giá trị của KEY2 là SP cộng thêm 3 khi mã lệnh SSC được thực hiện Nếu các giá trị này không chính xác, M8C sẽ thực hiện hàm Halt cho đến khi KEY1 - KEY2 có giá trị đúng.
Các thanh ghi điều khiển ngắt:
Bảng 3: Các thanh ghi điều khiển ngắt
Mã lệnh Tên hàm Khoảng ngăn xếp
Các khối số của hệ thống số
Các cột tơng tự của hệ thống tơng tự
Ngắt do việc cung cấp điện áp
Nhịp đồng hồ thay đổi
Mức u tiên ngắt Địa chỉ ngắt Tên ngắt
Tên thanh ghi Địa chỉ
Mã hoá các mức u tiên
25 0064h Sleep timer sơ đồ 2: Sơ đồ khối của việc điều khiển ngắt Đặt ngắt INT_CLKx Vecter ngắt 1
2.4.1 Thanh ghi INT_CLRx Đây là thanh ghi xoá ngắt, chúng giữ một bit cho một nguồn báo ngắt.
Bảng 5: Các thanh ghi xoá ngắt
Tên Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit1 Bit 0 Acess
Int_clr0 VC3 Sleep GPIO Analog
Int_clr1 DCB13 DCB12 SBB11 DBB10 DCB03 DCB0
Khi một thanh ghi xoá ngắt đợc đọc, bit đợc Set sẽ chỉ rõ một ngắt đợc đặt cho phần cứng.
Cách thực hiện viết các giá trị vào mỗi bit riêng biệt trong thanh ghi này đợc thực hiện bằng phần mềm cho phép ngắt_ bit INT_MSK[7].
Khi ENSWINT = 0, việc viết giá trị 1 vào tất cả các thanh ghi INT_CLRx không gây ảnh hởng gì
Nếu ENSWINT = 0 mà giá trị 0 đợc viết vào tất cả các bit của thanh ghi INT_CLRx thì các ngắt tơng ứng sẽ bị xoá
Nếu ENSWINT = 1, các bit của thanh ghi INT_CLRx = 0 các ngắt sẽ không đợc quan tâm
ENSINT = 1, các bit của thanh ghi INT_CLRx = 1 một ngắt sẽ đợc đặt
2.4.2 Thanh ghi INT_MSKx Đây là các thanh ghi che ngắt:
Bảng 6: các bit của thanh ghi che ngắt Tên Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Acess
DCB13 DCB12 DBB11 DBB10 DCB03 DCB02 DBB01 DBB00 RW: 00
Nếu mỗi bit ở INT_MSKx = 0 thì nó không cho phép nguồn ngắt đó đợc thực hiện
Nếu bit nào ở thanh ghi này tích cực thì nguồn ngắt tơng ứng đợc chọn
II.4.3.Thanh ghi INT_VC
Thanh ghi xoá Vector ngắt INT_VC cho phép thực hiện các chức năng sau:
Khi thanh ghi này đợc đọc thì ngắt đề cử trả lại mức u tiên của chính nã
Khi viết vào thamh ghi này thì nó xoá toàn bộ việc đặt ngắt và các ngắt đợc đề cử
2.5 Cổng vào ra công dụng chung (GPIO)
1 2 ©cb00 asc10 asd20 acb01 asd11 asc21 acb02 asd22 acb03 asd13 asc23
Các khối GPIO cung cấp giao diện cho việc giao tiếp giữa M8C và thế giới bên ngoài.
GPIO bao gồm: bộ đệm đầu vào, khối điều khiển đầu ra, các thanh ghi lu tr÷.
Vào ra số (điều khiển vào ra số bằng phần mềm)
Vào ra toàn cục (vào ra số của khối PSoC)
Vào ra tơng tự (khối vào ra tơng tự của PSoC)
2.6 Điều khiển đầu ra tơng tự
2.7 IMO: Bộ tạo dao động chính bên trong
IMO cung cấp nhịp từ 24MHz đến 48MHz
IMO cã hai ®Çu ra: SYSCLK: 24MHz 2.5%
IMO-TR: dùng để thay đổi bộ dao động bên trong Khi một giá trị lớn hơn ghi vào thì tốc độ của bộ dao động giảm đi.
2.8 ILO (Internal low speed Oscilator)
ILO cho tần số dao động là : 32 K
Đây là tần số hoạt động khi xảy ra ngắt Sleep wake-up và watchdog resets
Tần số này cũng đợc sử dụng cho hoạt động của khối số
Bộ tạo dao động này có 3 chế độ hoạt động: o Công suất bình thờng o Công suất thấp (low power) o Tắt
Công suất thấp được áp dụng khi thiết bị ở trạng thái nghỉ có công suất ổn định, hoặc khi máy hoạt động nhưng cần đảm bảo độ chính xác của tần số.
ECO là bộ tạo dao động 2K ở bên ngoài
Để cho chế độ này hoạt động thì bit 7 (32K select) ở thanh nghi OSC_CR0 phải đợc set
Quá trình chuyển đổi trạng thái hoạt động giữa ECO và ILO:
Bit4 Bit3 Bit2 Bit1 Bit0
Thanh ghi OSC_CR0 có các chức năng quan trọng: Bit 7 chọn tần số 32K của ILO ở chế độ mặc định, trong khi khi OSC_CR0[7] = 1, ECO sẽ được chọn Bit 6 điều khiển trực tiếp vòng giữ pha (PLL); khi bit này được Set, PLL sẽ hoạt động Ngoài ra, chế độ No Buzz khi được Set sẽ tắt tất cả hệ thống trên chip, và Sleep[1:0] được sử dụng để lựa chọn khoảng thời gian nghỉ.
Bảng 7: lựa chọn thời gian nghỉ
11b 32,768 1s 3s o CPU Speed[2:0]: giá trị mặc định là 3MHz
Bảng 8: lựa chọn tốc độ cpu
Bits IMO Nhịp Clock bên ngoài
Chức năng PLL tạo ra đồng hồ hệ thống với dao động thạch anh chính xác, cung cấp tần số 23,986 MHz khi dao động thạch anh bên ngoài là 32,768 KHz Để đạt độ chính xác, PLL cần thời gian khởi động, phụ thuộc vào bit PLLGAIN (bit 7 trong thanh ghi OSC_CR2) Nếu bit này được Set, thời gian khởi động sẽ trên 50 ms; nếu không, thời gian khởi động sẽ nhỏ hơn 10 ms.
Mục tiêu chính của việc nghỉ hoạt động là giảm mức tiêu thụ năng lượng xuống mức chấp nhận được Trạng thái nghỉ của hệ thống có thể được thiết lập qua phần mềm, trong đó CPU sẽ dừng lại tại một ranh giới của lệnh hoặc thay đổi tần số hoạt động.
Hệ thống đợc đánh thức từ trạng thái nghỉ nh là một kết quả của một ngắt hoặc Reset một sự kiện.
3.1 Kiến trúc tổng quan nhất về hệ thống số
Truyền tín hiệu giữa các khèi
Giao tiÕp víi Bus Đầu ra tín hiệu
3.2 Kiến trúc của một khối
Hệ thống số có 2 mảng (tuỳ thuộc vào từng loại) Một mảng gồm hai hàng Một hàng gồm 4 khối: block0:3
BC o CLK: xung nhịp o DATA: dữ liệu vào o AUX: dữ liệu vào phụ o FPB: tõ khèi tríc truyÒn tíi o TPB: truyÒn tíi khèi sau o INT: ngắt o BC: truyÒn ®i
3.3 Các chức năng chính của hệ thống số
Timer: có thể là 8 đến 32 bits
ChuÈn truyÒn tin SPI: SPI Slave, SPI Master
Truyền nhận không đồng bộ
II Tổng quan về điện thoại
Khi thực hiện cuộc gọi điện thoại, tín hiệu được truyền từ điện thoại đến tổng đài thông qua hai phương thức: sóng tương tự và dãy xung.
Khi thực hiện truyền thông bằng tần số, sóng truyền từ tổng đài đến các máy đích và ngược lại đều là sóng đã được điều tần hoặc điều biên Quá trình điều chế tín hiệu giúp chuyển đổi thông tin từ miền tần số thấp sang miền tần số cao để truyền đi xa hơn Điều biên là quá trình thay đổi biên độ của tín hiệu theo thông tin, trong khi điều tần hay điều pha là sự biến đổi tần số hoặc góc pha theo nội dung tin tức.
Trong mạng điện thoại, thiết bị được chia thành hai loại chính: thiết bị đầu cuối và hệ thống khoá chuyển mạch.
Tín hiệu rung chuông từ tổng đài có tần số 20Hz và biên độ 68V, thường phát theo chu kỳ 2 giây và ngắt quãng 4 giây Mỗi phím trên điện thoại được gán một tần số và số xung riêng biệt, ví dụ, phím số 0 có 10 xung, trong khi phím số 1 chỉ có 1 xung.
Hiện nay, hai thuật ngữ phổ biến là “điện thoại số” và “điện thoại tương tự” thường được nhắc đến Sự khác biệt giữa “điện thoại số” và “điện thoại tương tự” nằm ở bộ chuyển mạch tại tổng đài và phương pháp mã hóa âm thanh.
Mạng điện thoại không chỉ hỗ trợ giao tiếp bằng giọng nói mà còn cho phép truyền tải dữ liệu Để thực hiện việc truyền dữ liệu, người dùng thường sử dụng modem, là thiết bị thực hiện chức năng điều chế và giải điều chế.
Để thực hiện cuộc gọi hoặc nhận cuộc gọi, người dùng cần đăng ký với tổng đài Tóm lại, nếu bạn muốn sử dụng điện thoại cho các mục đích khác, việc đăng ký với tổng đài là điều cần thiết.
Chơng III: sơ đồ khối và thiết kế phần cứng
II Thiết kế phần cứng Điện thoại
Mạch tách sóng và mạch chuÈn hoá
TruyÒn tin víi máy tÝnh
Khèi ®iÒu khiÓn đóng cắt tiếp ®iÓm
1 Mạch tách sóng và chuẩn hoá
- Giả sử điện thoại của ta để ở chế độ tơng tự
- Tín hiệu ở đây đợc điều biên
- Mạch tách sóng dùng ở đây là mạch tách sóng bằng chỉnh lu Mạch tách sóng bằng chỉnh lu có hai sơ đồ: mắc nối tiếp và mắc song song.
Hình 1: sơ đồ mắc nối tiếp
Hình 2: sơ đồ mắc song song
- Chú ý: Nếu tín hiệu tách sóng cha đủ lớn thì ta phải khuếch đại vì khi tách sóng tín hiệu lớn không bị méo phi tuyến.
Chúng ta chọn mạch tách sóng nối tiếp trong hai sơ đồ vì sơ đồ tách sóng song song vẫn còn điện áp cao tần trên tải Do đó, nếu sử dụng sơ đồ mắc song song, cần phải bổ sung thêm một mạch lọc.
- Tính toán lựa chọn các linh kiện R, C:
Ta chọn R,C sao cho: 10/w t < RC < 1/w smax
Thực tế, ta chỉ cần chọn R, C sao cho: w t >= 100w smax
- Chú ý: không đợc chọn C quá lớn
- Sơ đồ nguyên lý mạch tách sóng:
Mạch chuẩn hoá đầu vào là một bộ so sánh có trễ theo sơ đồ thuận, được sử dụng để giảm thiểu ảnh hưởng của méo phi tuyến trong quá trình tách sóng Việc không sử dụng bộ so sánh thông thường là do nó có thể gây ra sai số lớn khi không có phản hồi.
Tính toán lựa chọn các R:
Chọn điện trở và Utr sao cho Kv = Kht*K0 > 1
Sơ đồ: mạch nguyên lý của khối chuẩn hoá
Sơ đồ: nguyên lý của khối đầu vào bộ xử lý
2 Khối xử lý và điều khiển
Một vài đặc điểm: o Có 8 khối số (4 hàng) o 12 khèi analog (3 cét) o 24 chân vào ra số o 12 đầu vào tơng tự o 4 đầu ra tơng tự o Cã ch©n XRES o Cã SMP
3.1 Khối truyền tin với máy tính
Tổng quan về điện thoại
Khi ấn phím trên điện thoại, tín hiệu điều biên được tạo ra và đi qua mạch tách sóng biên độ Đầu ra của mạch này là tín hiệu điều chế, sau đó được đưa vào mạch chuẩn hóa để tạo ra các xung vuông Bộ xử lý sẽ tính toán tần số để xác định phím số đã ấn và ngay lập tức gửi tín hiệu điều khiển để đóng tiếp điểm thường mở.
Khi muốn thực hiện công việc nào đó thì ngời sử dụng chỉ cần nhắc điện thoại lên và ấn phím.
sơ đồ khối và thiết kế phần cứng
thiết kế phần cứng
Mạch tách sóng và mạch chuÈn hoá
TruyÒn tin víi máy tÝnh
Khèi ®iÒu khiÓn đóng cắt tiếp ®iÓm
1 Mạch tách sóng và chuẩn hoá
- Giả sử điện thoại của ta để ở chế độ tơng tự
- Tín hiệu ở đây đợc điều biên
- Mạch tách sóng dùng ở đây là mạch tách sóng bằng chỉnh lu Mạch tách sóng bằng chỉnh lu có hai sơ đồ: mắc nối tiếp và mắc song song.
Hình 1: sơ đồ mắc nối tiếp
Hình 2: sơ đồ mắc song song
- Chú ý: Nếu tín hiệu tách sóng cha đủ lớn thì ta phải khuếch đại vì khi tách sóng tín hiệu lớn không bị méo phi tuyến.
Chúng ta chọn mạch tách sóng nối tiếp trong hai sơ đồ vì sơ đồ tách sóng song song có điện áp cao tần trên tải Do đó, nếu sử dụng sơ đồ mắc song song, cần phải thêm một mạch lọc.
- Tính toán lựa chọn các linh kiện R, C:
Ta chọn R,C sao cho: 10/w t < RC < 1/w smax
Thực tế, ta chỉ cần chọn R, C sao cho: w t >= 100w smax
- Chú ý: không đợc chọn C quá lớn
- Sơ đồ nguyên lý mạch tách sóng:
Mạch chuẩn hoá đầu vào là một bộ so sánh có trễ theo sơ đồ thuận, giúp giảm thiểu ảnh hưởng của méo phi tuyến trong quá trình tách sóng Việc sử dụng bộ so sánh thông thường không có phản hồi có thể dẫn đến sai số lớn, do đó, mạch so sánh này là lựa chọn tối ưu để đảm bảo độ chính xác cao hơn.
Tính toán lựa chọn các R:
Chọn điện trở và Utr sao cho Kv = Kht*K0 > 1
Sơ đồ: mạch nguyên lý của khối chuẩn hoá
Sơ đồ: nguyên lý của khối đầu vào bộ xử lý
2 Khối xử lý và điều khiển
Một vài đặc điểm: o Có 8 khối số (4 hàng) o 12 khèi analog (3 cét) o 24 chân vào ra số o 12 đầu vào tơng tự o 4 đầu ra tơng tự o Cã ch©n XRES o Cã SMP
3.1 Khối truyền tin với máy tính
Chuẩn truyền tin RS232 được sử dụng làm giao diện cho nhiều mục đích đo lường Trong máy tính PC, các cổng nối tiếp thường được gọi là COM1 và COM2.
Các thông số kỹ thuật của RS232:
Tốc độ truyền tối đa là 20Kbps
Khoảng cách truyền cực đại là 15m
Các đầu nối: DB-9 hoặc DB-25 đầu nối Chức năng Tên Hớng
3 2 Nhận dữ liệu TxD Xuất
4 7 Yêu cầu gửi RxD Nhập
5 8 Xoá việc gửi RTS Xuất
6 6 Dữ liệu sẵn sàng CTS Nhập
7 5 Nối đất vỏ máy DSR Nhập
20 4 Termanal sẵn sàng DTR Xuất
22 9 Bổ chỉ thị vòng RI Nhập
Sơ đồ ghép nối RS232
3.2 Khối điều khiển đóng cắt tiếp điểm Để điều khiển các đồ gia dụng, em thông qua các Relay tiếp điểm Bình thờng các tiếp điểm là luôn mở.
Trong thiết kế này dùng IC ổn áp 7805, 7905 Nếu dùng nguồn 12V ta có thể lắp mạch nh trong nguồn cung cấp 5V.
P0[0] Đi?u khi?n role 1 Đi?u khi?n role 2 Đi?u khi?n role 3
sơ đồ nguyên lý
P0[5] Đi?u khi?n ro le 3 Đi?u khi?n ro le 2 Đi?u khi?n role 1
nguyên lý hoạt động và sử dụng
Khi ấn phím trên điện thoại, tín hiệu điều biên được tạo ra và đi qua mạch tách sóng biên độ Đầu ra của mạch này là tín hiệu điều chế, sau đó được đưa vào mạch chuẩn hóa để tạo ra các xung vuông, rồi tiếp tục vào bộ xử lý Bộ xử lý sẽ tính toán tần số để xác định phím số đã ấn Sau khi xác định phím, nó sẽ gửi tín hiệu để điều khiển đóng tiếp điểm thường mở.
Khi muốn thực hiện công việc nào đó thì ngời sử dụng chỉ cần nhắc điện thoại lên và ấn phím.
Power on o Leall Delay-ms o Cấm tất cả các ngắt o Init RAM o Init Timer o Cho phép ngắt
III Modul chọn tần: chọn_F
IV Modul khởi tạo time: Init time Đợi ngắt
Khi có ngắt ngoài xảy ra thì:
Chọn_F Đợi ngắt o Chọn tần số dao động bên trong o Chọn tần số hoạt động ở trong thanh ghi: OSC_CR1 o Chọn số chia
Init Timer o Cấm các chức năng của khối số hoạt động:
DBBOOCRO o Chọn chức năng của khối số là Timer trong thanh ghi DBBOOFN o Chọn đầu vào trong thanh ghi DBBOOIN o Chọn nhịp đầu vào là VC1 trong thanh ghi
V Modul Int_srt Đợi ngắt
Reti o P1[3] = 1: cho phép Timer hoạt động o P1[3] = 0: cấm Timer hoạt động o Cấm ngắt xảy ra o Lcall xử lý
modul phần mềm
Nguyên nhân gây ra sai số của thiết bị
Nguyên nhân gây ra sai số đối với thiết bị chủ yếu là do bộ tách sóng.Ngoài ra còn ảnh hởng của nhiễu.
Đánh giá sai số của thiết bị
Đối với các ứng dụng trong gia đình không đòi hỏi độ chính xác cao vì thế sai số của thiết bị là chấp nhận đợc
II Đánh giá thiết bị
Kết quả đạt đợc
Thiết bị này đợc thiết kế sử dụng vi xử lý, vi mạch điện tử và trên cơ sở kiến thức của nhiều môn học khác.
Trong suốt quá trình thực hiện đề tài, nhờ vào thái độ làm việc nghiêm túc và sự hướng dẫn tận tình của thầy, em đã hoàn thành các mục tiêu đã đề ra.
Do hạn chế về thời gian, phần thiết kế giao diện đối thoại với máy tính cha đợc hoàn thiện.
Phạm vi ứng dụng của đề tài
Trong tương lai, đề tài này hứa hẹn sẽ trở thành một phần quan trọng trong cuộc sống hàng ngày Hiện tại, ứng dụng của nó còn hạn chế, chủ yếu tập trung vào việc nghiên cứu và tìm hiểu.
Khi cần độ chính xác cao thì ta dùng sơ đồ sau:
IC DTMF chuyển đổi mỗi phím trên điện thoại thành số nhị phân Để PSoC nhận được số này, cần có tín hiệu ngắt ngoài Std từ DTMF Khi Std=1, PSoC có thể đọc dữ liệu, còn khi Std=0, việc đọc dữ liệu bị ngăn chặn Ngoài ra, mạch báo bận được kết nối trực tiếp từ điện thoại tới PSoC, đảm bảo rằng PSoC không hoạt động khi điện thoại đang bận.
II Tài liệu tham khảo
1 Bu điện Việt Nam: Điện thoại số, Trung tâm thông tin xuất bản và in bu điện 1990.
2 Phan Mạnh Hà: Kỹ thuật mạch điện tử, NXB Khoa học và Kỹ thuật, Hà Néi 2002.
3 Webside: http:/slectronicsclub.cjb.net
4 Webside: http://www.cypressmicro.com