Thông báo

Collapse
No announcement yet.

Vi đièu khiển của Hitachi dòng H8-> cực hot

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Vi đièu khiển của Hitachi dòng H8-> cực hot

    Không hiểu tại sao diễn đàn lớn về lĩnh vực điện tử thế này mà lại không thấy ai đề cập đến Vi xử lý của Hitachi nhỉ?
    Nếu so với các con VXL trên diễn đàn thì H8 -3069 có thể nói là tổng hợp của rất nhiều loại VXL, dễ dùng và dễ lập trình, có thể kết nối với tất cả các giao thức phổ biến nhất hiện nay, Từ RS232,RS485,Ehternet,USB...
    Về tóc độ xử lý thì được coi là nhanh:24MHz
    Về bộ nhớ thì khó có loại nào bằng:16MB bạn có thể viết chương trình và lưu dũ liệu vào ra của nhân viên công ty hàng tháng trời mà không hết.
    Về Timer tốc độ rất cao.
    Về bộ nhớ trong được ứng dụng công nghệ hiện đại: nhớ bằng FLASH do vậy có thể dẽ dang ghi và xóa như đi chợ
    Còn giao tiếp thì không phải bàn: dùng luôn phần mềm của hãng có thể Download miến phí tại trang chủ của hãng.
    bạn có thể tải User Manual ở bất cứ trang nào của hãng
    http://www.sequoia.co.uk/silicon/man...shi/H8300H.php
    hoặc vào trang chủ của Hitachi va go H8 là ok.
    loại này tích hợp sẵn cổng RS232 và các bộ chuyển đổi AD...
    nếu bạn nào có nhu cầu tìm hiểu mình sẽ giúp.
    Email:tuanfa@gmail.com

  • #2
    Để các bạn dễ hình dung ra con này mình xin giới thiệu một số thông số cơ bản:
    + ROM 512KB
    +RAM 16KB
    +DRAM onboard 2MB
    +3 Timer 16-bit
    +4 timer 8-bit
    +AD 10bit
    +DA 8bit
    +SCI 3 channels
    +I/O 11 port -> 78 pin I/O

    Comment


    • #3
      Về phương pháp lập trình:
      Cực dễ nếu như không muốn nói là dơn giản
      Bạn chỉ cần 1 file viết bằng Asembly(cái này có thể lấy trêng mạng hoặc liên hệ qua mail)
      và các file chương trình thì viết bằng ngôn ngữ C
      Cách làm việc: bạn có thể dung Cygwin để dịch( chương trình này có thể tải trên mạng và cài vào máy giống như môi trường Linux trong Win)
      hoặc bạn có thể tải chương trình C38H để dịch
      Sau khi dịch xong thì sẽ được 1 file của chương trình dạng hexa nhưng đuôi file theo chuẩn của Motorola định dang S record( file có tên *.MOT)
      Sau đó bạn nạp file vào con VXL bằng chương trình Flash ROM của hãng hoặc Hterm nếu nạp vào EPROM.
      nạp xong thì....chắc các bác sẽ được hưởng thành quả của mình...
      Bạn có thể kiểm tra trực tiếp chương trình bằng lệnh tư bàn phím hoặc những giao thức khác.
      chương trình giao tiếp máy tình và VXL thì viết rất dễ dang hoặc bạn có thể tải file Hterm của hãng về dùng hoặc liên hệ qua mail.
      Xin mời các băc khám phá.
      Một điều chắc chắn rằng đây là con VXL thách thức toàn bộ VXL hiện có trên thì trường VN.

      Comment


      • #4
        Tị sao mình nén file rồi mà vẫn không load được

        Tài liệu hướng dẫn sủ dụng
        Last edited by tuanbantin; 20-12-2007, 19:39. Lý do: khong load duoc

        Comment


        • #5
          Đây là liên kết đến trang chủ
          http://www.renesas.com/fmwk.jsp?cnt=...mcu/h8_family/

          Comment


          • #6
            Dòng vi điều khiển của Renesas trên thế giới cũng khá nổi tiếng, khá nhiều công ty đã có trình dịch cho nó. Tuy nhiên dòng này chưa phát triển rộng rãi ở VN. Tớ thấy phổ biến ở Nhật, nếu nhớ không nhầm thì thêm cả Pháp. Ở VN thì hiện giờ chắc chỉ 8051, PIC, AVR, PSOC là phổ biến hơn cả. Ở một số nước châu Âu tớ lại thấy đồ của freescale nhiều.

            Chắc bạn cũng hiểu một dòng vi điều khiển có phát triển hay không thì cấu hình phần cứng mạnh, giá thành thấp không phải là yêu tố quan trọng nhất. Cái quan trọng nhất ở đây là công cụ phát triển và có ai bắn phát đầu tiên chưa

            Về phần cứng dòng này hoàn toàn tương đương với Microchip và FreeScale không có gì đặc sắc. 16MB bạn nêu ra là khả năng định địa chỉ được của nó, 16MB thì vẫn hơi kém nếu muốn so sánh về khả năng này.

            Về trình dịch và tài liệu, ví dụ, các demo project thì tớ lượn lờ khá nhiều diễn đàn không thấy nhiều. Đây chính là điểm quan trọng nhất. Với PIC chẳng hạn thì rất nhiều đồ free, project đã có sẵn.

            Anyway, nếu bạn có sẵn thì tớ cũng muốn thử

            Comment


            • #7
              hay đấy , có sample không . có thì mới "ngó" được chứ ...
              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

              Comment


              • #8
                Quả thực là phải chuyên nghiệp thì mới quan tâm đén loại này

                Nguyên văn bởi phamthaihoa Xem bài viết
                Dòng vi điều khiển của Renesas trên thế giới cũng khá nổi tiếng, khá nhiều công ty đã có trình dịch cho nó. Tuy nhiên dòng này chưa phát triển rộng rãi ở VN. Tớ thấy phổ biến ở Nhật, nếu nhớ không nhầm thì thêm cả Pháp. Ở VN thì hiện giờ chắc chỉ 8051, PIC, AVR, PSOC là phổ biến hơn cả. Ở một số nước châu Âu tớ lại thấy đồ của freescale nhiều.

                Chắc bạn cũng hiểu một dòng vi điều khiển có phát triển hay không thì cấu hình phần cứng mạnh, giá thành thấp không phải là yêu tố quan trọng nhất. Cái quan trọng nhất ở đây là công cụ phát triển và có ai bắn phát đầu tiên chưa

                Về phần cứng dòng này hoàn toàn tương đương với Microchip và FreeScale không có gì đặc sắc. 16MB bạn nêu ra là khả năng định địa chỉ được của nó, 16MB thì vẫn hơi kém nếu muốn so sánh về khả năng này.

                Về trình dịch và tài liệu, ví dụ, các demo project thì tớ lượn lờ khá nhiều diễn đàn không thấy nhiều. Đây chính là điểm quan trọng nhất. Với PIC chẳng hạn thì rất nhiều đồ free, project đã có sẵn.

                Anyway, nếu bạn có sẵn thì tớ cũng muốn thử
                Nếu theo giá thành thì tùy vao túi tiền có thể mua được các loại, tư 3048, 3052 ... đến 3069, 3664...
                Cũng giống như các loại VXL khác, nếu bạn chỉ cần giao tiếp với RS232 thì giá cũng không đắt lắm, còn nếu bạn muốn ghép nối với các thiết bị khác như Ethernet hay USB hoặc cái khác thì mua thêm thôi.
                Còn cách làm việc và code thì mình không tài nào load được lên để cho các bạn xem, mặc dù đã nén dạng *.RAR và load hang chục lần rồi.
                còn trình dịch và tài liệu mình nghĩ cũng không quá khó để kiếm hoặc tự tạo ra, cái này nó dùng Open source(Linux) bạn có thể load Cygwin về WIN cài đặt và có thể dịch được ngon lành.
                Đây là loại VXL được dùng rất phổ biến ở Nhật-Một nước có nền công nghiệp phát triển nhất thế giới.

                Comment


                • #9
                  Xin giới thiệu 1 file quan trọng và là file duy nhất làm bằng ASEMBLER

                  Nguyên văn bởi queduong Xem bài viết
                  hay đấy , có sample không . có thì mới "ngó" được chứ ...
                  Xin giới thiệu các bác một file quan trọng trong chương trình:
                  ;File này có tên là C0ROM.MAR
                  .CPU 300HA
                  ;
                  p1ddr: .equ h'fee000
                  p2ddr: .equ h'fee001
                  p5ddr: .equ h'fee004
                  p8ddr: .equ h'fee007
                  ;Khai báo các chế độ làm việc của thanh ghi điều khiển
                  abwcr: .equ h'fee020
                  astcr: .equ h'fee021 ;
                  wcrh: .equ h'fee022
                  wcrl: .equ h'fee023 ;

                  ; --------
                  MON .EQU h'000100 ;Địa chỉ của chương trình
                  ;ITU - các thanh ghi của Timer
                  TSTR .EQU H'FFFF60
                  STR0 .BEQU 0,TSTR
                  STR1 .BEQU 1,TSTR
                  TSNC .EQU H'FFFF61
                  TMDR .EQU H'FFFF62
                  TISRA .EQU H'FFFF64
                  ;ITU ch0 Timer kênh 0
                  TCR0 .EQU H'FFFF68
                  TIOR0 .EQU H'FFFF69
                  TCNT0 .EQU H'FFFF6A
                  GRA0 .EQU H'FFFF6C
                  GRB0 .EQU H'FFFF6E
                  ;ITU ch1 Timer kênh 1
                  TCR1 .EQU H'FFFF70
                  TIOR1 .EQU H'FFFF71
                  TCNT1 .EQU H'FFFF72
                  GRA1 .EQU H'FFFF74
                  GRB1 .EQU H'FFFF76
                  ;Khai báo các biến và các hằng số
                  .SECTION A,CODE,ALIGN=2
                  .IMPORT _main ; gọi chương trình chính trong C
                  .IMPORT _intpgm ; các chương trình trong C thì gọi bằng lệnh IMPORT
                  .IMPORT _intset
                  .IMPORT _sio_int0 ; gọi các chương trình xử lý ngắt
                  .IMPORT _sio_int1
                  .IMPORT _sio_int2
                  .EXPORT _sti ; các chương trình trong ASEMBLER khi dùng trong C thì phải gọi ra bằng EXPORT
                  .EXPORT _cli
                  ;
                  .org h'100
                  jmp @(A+h'200)
                  .ORG H'170
                  .DATA.L ITU_I
                  .org h'1D0
                  .DATA.L SCI0_I
                  .DATA.L SCI0_I
                  .org h'1E0
                  .DATA.L SCI1_I
                  .DATA.L SCI1_I
                  .org h'1F0
                  .DATA.L SCI2_I
                  .DATA.L SCI2_I
                  ;
                  .ORG H'000200
                  MOV.L #H'FFFF20,ER7 ;
                  mov.b #h'ff,r0l
                  mov.b r0l,@p1ddr ;Address A 0-A 7 Out
                  mov.b r0l,@p2ddr ;Address A 8-A15 Out
                  mov.b r0l,@p5ddr ;Address A16-A19 Out
                  mov.b #h'fe,r0l ;
                  mov.b r0l,@p8ddr
                  mov.b #h'fd,r0l ;
                  mov.b r0l,@abwcr
                  mov.b #h'ff,r0l ;
                  mov.b r0l,@astcr
                  mov.b #h'f0,r0l ;
                  mov.b r0l,@wcrl
                  jsr @_cli
                  jsr @_intset
                  jsr @TIMER
                  ;jsr @_sti
                  jsr @_main
                  jmp @MON
                  TIMER:
                  ;--Thiết lập timer
                  MOV.B #H'00,R0L
                  MOV.B R0L,@TMDR ;
                  ;--Timerー CH0
                  MOV.B #B'11000011,R0L
                  MOV.B R0L,@TCR0 ;
                  MOV.B #B'10111000,R0L
                  MOV.B R0L,@TIOR0 ;
                  MOV.W #H'01e,R0 ;((24.576/8)MHz)/100KHz=30.72=h'1e
                  MOV.W R0,@GRB0
                  ;---Timerー CH1
                  MOV.B #B'10110111,R0L
                  MOV.B R0L,@TCR1 ;
                  MOV.B #B'10001010,R0L
                  MOV.B R0L,@TIOR1 ;
                  MOV.W #100,R0 ;100=1mSEC
                  MOV.W R0,@GRA1
                  MOV.B #B'10101000,R0L ;
                  MOV.B R0L,@TISRA ;
                  BSET STR0 ;
                  BSET STR1 ;
                  RTS
                  ;-----Cho phep ngắt-----
                  _sti:
                  ANDC.B #B'01111111,CCR ;Clear Interrupt mask
                  RTS
                  ;-----Thiết lập che ngắt-----
                  _cli:
                  ORC.B #B'10000000,CCR ;Set Interrupt mask
                  RTS
                  ;-----ITU1 tạo ngắt trong TImer-----
                  ITU_I:
                  PUSH.L ER0
                  PUSH.L ER1
                  PUSH.L ER2
                  PUSH.L ER3
                  PUSH.L ER4
                  PUSH.L ER5
                  BCLR #5,@TISRA ;
                  BCLR #1,@TISRA ;Clear IMFA
                  jsr @_intpgm
                  BSET #5,@TISRA ;
                  POP.L ER5
                  POP.L ER4
                  POP.L ER3
                  POP.L ER2
                  POP.L ER1
                  POP.L ER0
                  RTE
                  ;-----SCI0 -----
                  SCI0_I:
                  PUSH.L ER0
                  PUSH.L ER1
                  PUSH.L ER2
                  PUSH.L ER3
                  PUSH.L ER4
                  PUSH.L ER5
                  jsr @_sio_int0
                  POP.L ER5
                  POP.L ER4
                  POP.L ER3
                  POP.L ER2
                  POP.L ER1
                  POP.L ER0
                  RTE
                  ;-----SCI1 -----
                  SCI1_I:
                  PUSH.L ER0
                  PUSH.L ER1
                  PUSH.L ER2
                  PUSH.L ER3
                  PUSH.L ER4
                  PUSH.L ER5
                  jsr @_sio_int1
                  POP.L ER5
                  POP.L ER4
                  POP.L ER3
                  POP.L ER2
                  POP.L ER1
                  POP.L ER0
                  RTE
                  ;-----SCI2 -----
                  SCI2_I:
                  PUSH.L ER0
                  PUSH.L ER1
                  PUSH.L ER2
                  PUSH.L ER3
                  PUSH.L ER4
                  PUSH.L ER5
                  jsr @_sio_int2
                  POP.L ER5
                  POP.L ER4
                  POP.L ER3
                  POP.L ER2
                  POP.L ER1
                  POP.L ER0
                  RTE
                  .END
                  ;
                  Đây là chương trình tạo ngắt bởi bộ Timer 1 với chu kỳ ngắt 100ms

                  Comment


                  • #10
                    Các bạn xem qua có thể hiểu quá trình tạo ngắt và nguyên lý ngắt, trong chương trình trên thì các chương trình ngắt SCI0-SCI2 là ngắt của 3 kênh vào ra nối tiếp, SCI(Serial comunication Interface) có thể dùng cho RS232-kênh 0, Ethernet -kếnh, USB kênh 2 hoặc tùy chọn ...

                    Comment


                    • #11
                      Còn đây là một chương trình khởi tạo 3 công SCI:
                      void sio_sioini(int chl)
                      {
                      if (chl == 0) {
                      SCI0.SCR.BYTE = 0 ; /* Stop SCI0 , internal clock use */
                      SCI0.SMR.BYTE = 0 ; /* Asynchronous mode,8 data,1stop,no-parity*/
                      SCI0.BRR = 320/(38400/2400)-1; /*38400bps*/
                      dmywgt(300);
                      SCI0.SCR.BYTE = 0x70;/* Enable Tx & Rx , enable interrupt */
                      SCI0.SSR.BYTE &= 0x80;/* Clear receive error flag(ORER,FER,PER) */
                      }
                      if (chl == 1) {
                      SCI1.SCR.BYTE = 0 ; /* Stop SCI0 , internal clock use */
                      SCI1.SMR.BYTE = 0 ; /* Asynchronous mode ,8data,1stop,no-parity*/
                      SCI1.BRR = 320/( 9600/2400)-1; /* 9600bps*/
                      SCI1.BRR = 320/(38400/2400)-1; /*38400bps*/
                      dmywgt(300);
                      SCI1.SCR.BYTE = 0x70;/* Enable Tx & Rx , enable interrupt */
                      SCI1.SSR.BYTE &= 0x80;/* Clear receive error flag(ORER,FER,PER) */
                      }
                      if (chl == 2) {
                      SCI2.SCR.BYTE = 0 ; /* Stop SCI0 , internal clock use */
                      SCI2.SMR.BYTE = 0 ; /* Asynchronous mode,8 data,1stop,no-parity*/
                      SCI2.SMR.BYTE=0x60; /* Asynchronous mode,7 data,1stop,ev-parity*/
                      SCI2.BRR = 320/(38400/2400)-1; /*38400bps*/
                      SCI2.BRR = 320/( 9600/2400)-1; /* 9600bps*/
                      dmywgt(300);
                      SCI2.SCR.BYTE = 0x70;/* Enable Tx & Rx , enable interrupt */
                      SCI2.SSR.BYTE &= 0x80;/* Clear receive error flag(ORER,FER,PER) */
                      }
                      if (chl == 3) {
                      Bit_On (PRICTL,PRIACK);Bit_Off(PRICTL,PRIACK);dmywgt(100) ;Bit_On(PRICTL,PRIACK);
                      Bit_On (PROCTL,PROINI);Bit_Off(PROCTL,PROINI);dmywgt(100) ;Bit_On(PROCTL,PROINI);
                      OutPort(PRODAT,0x00) ;Bit_On (PROCTL,PROSTB);stbflg=OFF;dmywgt(500);
                      }
                      }
                      Tốc độ của mỗi cổng bạn có thể tùy chọn, nói chung là dùng tốc độ cao hơn tất cả những con VXL có tại VN bây giờ.
                      Tốc độ phổ biến là khoảng 38400Kbs

                      Comment


                      • #12
                        Nếu các bạn đọc kỹ thì cổng thứ 4 trong chương trình trên là dùng riêng cho việc tạo cổng ảo, mục đích là hiển thị lên LCD
                        if (chl == 3) {
                        Bit_On (PRICTL,PRIACK);Bit_Off(PRICTL,PRIACK);dmywgt(100) ;Bit_On(PRICTL,PRIACK);
                        Bit_On (PROCTL,PROINI);Bit_Off(PROCTL,PROINI);dmywgt(100) ;Bit_On(PROCTL,PROINI);
                        OutPort(PRODAT,0x00) ;Bit_On (PROCTL,PROSTB);stbflg=OFF;dmywgt(500);
                        }

                        Comment


                        • #13
                          Nếu các Bác còn hứng thú tôi sẽ tiếp tục giới thiệu về cách truyền dữ liệu qua cổng SCI hoăc LCD

                          Comment


                          • #14
                            Dòng này mới đáng chú ý:
                            80ns instruction cycle time at 25 MHz, 5V operation and 3V options, Well-balanced peripheral set, On-chip debug (OCD) support,
                            Và:
                            Cost Effective General Purpose 16 bit Microcontrollers with high memory

                            Anh cho Phi hỏi, làm sao để có thể mua 1 con chip về vọc thử và mạch nạp như thế nào? onboard hay sao vậy anh? Với kinh nghiệm của người đi trc như anh- Phi rất muốn nghe anh hướng dẫn.

                            Comment


                            • #15
                              Nguyên văn bởi duyphi Xem bài viết
                              Dòng này mới đáng chú ý:
                              80ns instruction cycle time at 25 MHz, 5V operation and 3V options, Well-balanced peripheral set, On-chip debug (OCD) support,
                              Và:
                              Cost Effective General Purpose 16 bit Microcontrollers with high memory

                              Anh cho Phi hỏi, làm sao để có thể mua 1 con chip về vọc thử và mạch nạp như thế nào? onboard hay sao vậy anh? Với kinh nghiệm của người đi trc như anh- Phi rất muốn nghe anh hướng dẫn.


                              Có nghĩa là nó nhanh hơn các pic phổ thông dòng 16F 2 lần ??? và chậm hơn AVR 2 lần ???

                              --- Tôi thích nhiều module và nhiều I/O
                              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                              Comment

                              Về tác giả

                              Collapse

                              tuanbantin Like make friend and play soccer Tìm hiểu thêm về tuanbantin

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X