TMS320C6A8168'e Dayalı Dinamik Bir FPGA Yapılandırma Yöntemi

Zhang Demin, Tong Qing, Liu Yijing, Peder Wen Çetesi

(Chongqing Posta ve Telekomünikasyon Üniversitesi, Mobil İletişim Teknolojisi Chongqing Anahtar Laboratuvarı, Chongqing 400065)

Temel bant işleme sistemindeki geleneksel FPGA açılış konfigürasyonunun hızını ve esnekliğini amaçlayan, FPGA konfigürasyon dosyasını dinamik olarak yüklemek için TMS320C6A8168'in SD kartına ve ağ portuna dayalı bir çözüm önerilmiştir. Bu çözüm, platform olarak 4 FPGA ve 1 C6A8168 ARM işlemciden oluşan gömülü bir sistem kullanır.U-önyüklemede kodu değiştirerek, temel bant sistemi, U-önyükleme açıldığında FPGA'yı seçmeli olarak PC'ye yükleyebilir. Yapılandırma dosyası, FPGA'nın ilgili fiziksel katman algoritmasını ve donanım hızlandırmasını tamamlamasını sağlar. FPGA konfigürasyonunu etkili bir şekilde gerçekleştirir, FPGA sistem konfigürasyonunun esnekliğini artırır ve temel bant işleme sistemlerinde iyi uygulama olanaklarına sahiptir.

TMS320C6A8168; FPGA; SD kart; ana bant işleme sistemi

Temel bant işleme sistemindeki FPGA kapasitesi, hızı, kaynakları vb. Kısıtlamalar nedeniyle bazı karmaşık gömülü sistemlerin tasarımının tamamlanmasında büyük zorluklar yaşanmaktadır. Bununla birlikte, karmaşık sistem tasarımı birkaç bağımsız modüle bölünürse, her modül tek bir FPGA tarafından uygulanır ve birden çok FPGA arasında etkili bir arayüzle desteklenirse, FPGA ölçeğinin sınırlamasını iyi bir şekilde çözebilir. Öte yandan, aynı donanım aygıtları, değişken aygıt işlevleriyle uygulama gereksinimlerini elde etmek için bir çoklu FPGA sistemine farklı yapılandırma dosyaları yükleyebilir. Örneğin: Mobil iletişim sinyalizasyon analizöründe, Mobil iletişim için Küresel Sistem (GSM), Zaman Bölmeli Senkron Kod Bölmeli Çoklu Erişim (TD-SCDMA), zaman bölmeli ile uyumlu olmak için Time Division Long Term Evolution (TD-LTE) ve Frequency Division Duplexing LTE (FDD-LTE) gibi farklı iletişim standartları için, birden çok FPGA'yı dinamik olarak yapılandırmak gerekir.

1 Çoklu FPGA yapılandırma şeması

Geleneksel çoklu FPGA sisteminin çözümü kabaca iki türe ayrılabilir: bir dağıtılmış konfigürasyon çözümü ve bir merkezi konfigürasyon çözümü Konfigürasyon yapısı Şekil 1'de gösterilmektedir.

Şekil 1 Geleneksel konfigürasyon şemasının konfigürasyon yapısı

Merkezi olmayan konfigürasyon şemasında, her FPGA, konfigürasyonu tamamlamak için konfigürasyon dosyasını harici şarjlı yeniden yazılabilir programlanabilir salt okunur belleğe (EEPROM) yüklemek için ana modu kullanır.Sistemin karmaşıklığını ve maliyetini artıran birden fazla bağımsız konfigürasyon devresi tasarlamak gerekir. Merkezi konfigürasyon, yetersiz EEPROM kapasitesi ve birden çok FPGA sistemindeki farklı versiyonların konfigürasyon dosyaları arasında akıllı geçiş yapamama gibi problemlere sahip olacaktır. Yukarıdaki konfigürasyonun eksikliklerini hedefleyen bu makale, ARM, SD kart, EMAC ve seri porta dayalı bir çoklu FPGA komut seçim konfigürasyon şeması tasarlar.Program, kullanıcı seçim komutlarını okumak için ARM'nin insan-bilgisayar etkileşim arayüzünü kullanır ve kontrol arayüzü ve veri arayüzü konfigürasyon sırasına göre tamamlanır Yapılandırma, kullanıcıların FPGA yapılandırma dosyalarını aygıtın farklı işlevsel gereksinimlerine göre bağımsız olarak seçmesini sağlar.

2 ARM tabanlı çoklu FPGA seri bağlantı noktası komut seçimi yapılandırmasının donanım tasarımı

Bu program, sistemin ana kontrol yongası olarak TI'nin çift çekirdekli işlemcisi TMS320C6A8168'i seçer. Ağ kartı, FPGA dosyasını ağ tarafına yüklemek için LSInin ET1011C gigabit ağ kartını kullanır ve bu, dosya yükleme verimliliğini büyük ölçüde artırır. SD kart, evrensel önyükleyici (U-boot) görüntü dosyasını depolamak için 30 MB / sn aktarım hızına ve 16 GB kapasiteye sahip bir Kingston bellek kullanır. Yardımcı FPGA, yüksek sistem entegrasyonu ve güvenliği ile uçucu olmayan alanda özel olarak kullanılan Spartan-3AN serisinin FPGA XC3S400AN'ını benimser. Tüm donanım devre blok şeması Şekil 2'deki gibi gösterilmiştir.

Şekil 2 Çoklu FPGA yapılandırma devre şeması

Konfigürasyon programı ve konfigürasyon dosyası PC'ye yerleştirilir.Güç açıldıktan sonra, ARM, donanım bilgilerine göre özelleştirilmiş U-boot'u yürütür ve konfigürasyon dosyası seçim bilgisini ve ilgili cihaz fonksiyon açıklamasını seri port üzerinden hiper terminalde yazdırır; ardından önce kullanıcı tarafından komut girişine göre Seçilen konfigürasyon dosyasını PC'den DDR'ye TFTP üzerinden indirin ve ardından DDR'deki dosyaları konfigürasyon programı aracılığıyla yardımcı FPGA üzerinden konfigüre edilecek FPGA'ya yazın ve sırayla FPGA konfigürasyonunu tamamlayın. FPGA yapılandırma dosyası .bit biçimindedir, yüklenen yapılandırma dosyasının biçimi .out, SD kartın önyükleme dosyası MLO ve U-boot dosyası u-boot.bin'dir. Tüm dosyanın düzeni Şekil 3'te gösterilmektedir.

Şekil 3 Her dosyanın düzeni

3 ARM tabanlı çoklu FPGA seri bağlantı noktası komut seçimi yapılandırmasının yazılım tasarımı

Sistem açıldıktan sonra, ARM sistemin yazılım ve donanım ortamının başlatılmasını tamamlamak için U-önyükleme kodunu SD karta yükler ve ardından kullanıcı tarafından seçilen yapılandırma dosyalarını DDR'de belirtilen konuma kopyalar. Yapılandırma kodunu çalıştırarak ve FPGA mantık değişkenliğini kullanarak, DDR'deki yapılandırma dosyaları, tüm FPGA'ların yapılandırmasını gerçekleştirmek için zaman sırasına göre XC3S400AN üzerinden yapılandırılacak 4 FPGA'ya yazılır. Genel süreç Şekil 4'te gösterilmektedir.

Şekil 4 Programlama yapılandırma kodunun akış şeması

3.1 U-boot kod tasarımı

Mevcut C6A8168 U-boot kod değişikliğine göre, U-boot /

Common / main.c kaynak kodu yazdırma geri sayım başlangıç kodu, aşağıdaki gibi bazı kodlar ekleyin:

switch (signal_command) {

case'a ': {

printf ("FPGA1, yapılandırma dosyası 1'i seçti \ n");

s = getenv ("fpga1_1");

printf ("komutu yürüt:% s \ n", s);

run_command (s, 0);

}

}

Yukarıdaki Case ifadesi, ortam değişkenindeki fpga1-1 talimatını okuyabilir ve ayrıştırabilir. Fpga1-1 talimatı uboot / common / env_com-mon.c'ye eklenir:

#ifdef FPGA1_1_CONFIG_BOOTCOMMAN-D "fpga1_1 =

"FPGA1_1_CONFIG_BOOTCOMMAND" \ 0 "

#endif

FPGA1_1CONFIG_BOOTCOMMAND'e karşılık gelen komut: tftp 0x82000000 fpga1-1.bit, u-boot / common / ti8168_ içinde

Evm.h ekleyin:

# define FPGA1_1_CONFIG_BOOTCOMM-AND

"tftp 0x82000000 fpga1_1.bit;"

# tanımlı START_WRITE_CONFIGFILE

"tftp 0x40300000 fpga_init.out; git 0x40300000;"

Yukarıdaki komut, fpga1-1.bit yapılandırma dosyasını ve fpga_init.out yapılandırma dosyasını DDR adresine indirmek için TFTP'yi kullanır ve yapılandırma dosyasını FPGA1'i yapılandırmak için yardımcı FPGA'ya yüklemek için kodu yürütür.

3.2 U-boot derlemesi

Makefile'da ARCH ve CROSS_COMPILE'ı değiştirin:

ARCH? = Kol;

CROSS_COMPILE? = / Opt / DVRRDK_02.00.00.23 / ti_tools / cgt_a8 / arm-2009q1 / bin / arm-none-linux-guneabi-;

U-boot derlemesi şu anda iki adıma bölünmüştür:

İlk adım: $ make distclean

$ ti8168_evm_min_sd yapmak

$ make u-boot.ti

Önceki derleme sürecinde oluşturulan kodu silmek için ilk olarak make distclean kullanın.İkincisi, SD kart başlatıldığında U-boot görüntü dosyası genellikle 125 KB'den az olduğundan, SD kart başlatma yapılandırmasını uygulamak için make ti8168_evm_min_sd kullanın; make u-boot kullanın .ti kodu derler ve sonunda u-boot.min.sd'yi oluşturur ve ardından u-boot.min.sd'yi u-boot'un ilk aşaması olarak MLO olarak yeniden adlandırır;

Adım 2: $ make distclean

$ ti8168_evm_config_nand yap

$ make u-boot.ti

Yukarıdaki kod, burada SD kart önyüklemesinin ikinci aşaması için kullanılan u-boot.bin'in Nandflash sürümünü oluşturmak için derlenmiştir.

Yukarıdaki iki adımdan sonra MLO ve u-boot.bin başlangıç dosyaları elde edilebilir.

3.3 TFTP yapılandırması, EMAC'nin FPGA yapılandırma dosyasını PC'ye yüklemesi için kullanılır

Yükleme hızı sorunu göz önüne alındığında, bu çözüm yükleme için bir gigabit ağ bağlantı noktası kullanır ve sunucu olarak bir PC seçilir. Ana bant kartının IP'si ve bilgisayarın IP'si aynı ağdadır: PC'nin IP'sini ve ana bant kartındaki EMAC ağ kartını 192.168.1.11, 192.168.1.22, alt ağ maskesini 255.255.255.0 ve ağ geçidini 192.168.1.1 olarak ayarlayın; Bu noktada, güç açıldığında geri sayımdan sonraki 3 saniye içinde, ilgili FPGA yapılandırma dosyasını seçmek için düğmeye basılarak, seçilen kod TFTP kullanılarak bilgisayardan yüklenecektir. Geri sayımdan sonraki 3 saniye içinde seçim düğmesine basılmazsa, varsayılan yapılandırma dosyası U-boot'a göre yüklenecektir.

4 Veri testi ve sonuçları

Farklı test nesnelerine ve ortamlarına göre, sayacı GSM, TD-SCDMA, TD-LTE, FDD-LTE'nin 4 iletişim ağı ile uyumlu hale getirmek ve farklı ortamların test ortamını ve 5 M, 10 M, 15 M'yi karşılamak için farklı standartlardaki konfigürasyon dosyalarını yükleyin. , 20 M 4 çeşit bant genişliği, tek hücreli çok kullanıcılı, tek antenli, çok antenli ve diğer konfigürasyonları simüle ederek, konfigürasyon dosyalarını dinamik olarak yükleme gereksinimini gerçekleştirir.

Mobil iletişim sinyalizasyon analizöründe bu şema için konfigürasyon süresini test edin. Tablo 1, farklı ARM saat frekansları ve ortalama yapılandırma dosyaları altında çoklu ölçümler ve FPGA yapılandırmasının tamamlanması için gereken süreyi gösterir.

5. Sonuç

Bu çözümde, FPGA yapılandırma dosyası, temel bant sisteminin açılışta kendiliğinden başlamasını gerçekleştirmek için ARM başlangıcı aracılığıyla seçici olarak yüklenir. Ve somut gerçekleşme, aralarında yazılım ve donanım tasarımının nispeten bağımsız ve eksiksiz olduğu, iletişim elektroniği ve bilgisayar alanlarında belirli uygulama değerine sahip olan sistem yapısı, prensip tasarımı, donanım yapısı, yazılım gerçekleştirme yönlerinden verilmektedir.

Referanslar

Zhang Qianli, Yu Fang, Liu Zhongli, vb. Kullanıcı kısıtlama dosyalarıyla birleştirilmiş verimli bir çoklu FPGA sistem bölümleme yöntemi. Harbin Teknoloji Enstitüsü Dergisi, 2012, 44 (7): 144-148.

LADDHA S, DE K B. Çoklu FPGA tasarımı / prototipleme için EDA araçları ve tasarım metodolojisi. .http: //www.design-reu-se.c-om/articles/22074/formulti-fpga-designing-prototyping.html.

Chen Xi, Shen Zuofeng. Güvenilir bir FPGA dinamik yapılandırma yöntemi ve uygulaması. İletişim Teknolojisi, 2012, 45 (3): 105-110.

Zhang Chengchang. Çoklu FPGA sistemlerinin temel sorunları ve uygulamaları üzerine araştırma. Chongqing: Chongqing Üniversitesi, 2011.

YAN D G, ZHANG C C, TONG R J. XCF32P'ye dayalı çoklu FPGA sistemleri için yeni bir konfigürasyon şeması.Uluslararası Endüstri, Bilgi Sistemi ve Malzeme Mühendisliği Konferansı, 2011: 1014-1017.

Ji Bin. Xilinx FPGA açılış dizisi analizi ve tasarımı. Telekomünikasyon Teknolojisi, 2012, 52 (4): 591-594.

Li Feifei, Su Yanchuan, Wang Peng DSP'ye dayalı FPGA yapılandırma yönteminin araştırılması ve uygulanması. Modern Elektronik Teknolojisi, 2011, 34 (24): 60-62.

Yang Zongfu. ARM tabanlı sistem başlatma süreci ve sistem nakli üzerine araştırma. Pekin: Kuzey Çin Teknoloji Üniversitesi, 2014.

PETER B, PATRICK C. Gömülü ve gerçek zamanlı uygulamalar için Linux (Üçüncü Baskı) Büyük Britanya: Elsevier, 2013: 225-232.

Xilinx Inc. Spartan-3AN FPGA ailesi veri sayfası. .http: //www.xilinx.com/support/documenta

Texas Instruments Inc. DM816x AM389x PSP yanıp sönen araçlar kılavuzu. .http: //processors.wiki.ti.com/

index.php / DM816x_AM389x_PSP_Flashing_Tools_Guide.

AET üyeleri için yıl sonu avantajları!

Zhang Zhen'in güzelliği ciddiyetinden geliyor
önceki
Denizaşırı Film Haberleri | "Wonder Woman 2" programı açıklanacak, "Dunkirk" Nolan'ın kişisel en iyisi olacak
Sonraki
Yeni bir "varlık kıtlığı" turu burada ve arkasında dört ana kaynak var
Dünya bir akıl hastanesi, deli olan tek kişi sen değilsin
Sedanın yeni Mercedes-Benz A sınıfı uzun eksenli versiyonu piyasaya sürüldü, resmi fiyat 2.169-29.99 milyon yuan
"Hidden Dragon: Shadow Trace" in yeni ve geliştirilmiş versiyonu bence denemeye değer
Biri sana zorbalık ederse, onunla savaşırsın
Zhang Yimou
İnanılmaz ayak becerileri! Yabancı çapalar için bir dans makinesiyle "Celeste" de hızlanın
Alibaba Cloud Min Wanli, ET endüstriyel beyninden bahsediyor:% 1 dayanak noktası bulun, verim oranında% 1 artış elde edin ve sektördeki ilk% 1 olun
Şangay Elektronik Fuarı Başlığı | 2016 Çip Depolama Teknolojileri Geliştirme ve Uygulama Semineri başarıyla gerçekleştirildi
Bu hafta Xbox indirimli oyunu: "Call of Duty" toplu promosyonu
On yıldır kurulan bu üniversite derneği, Pekin operasının özünün "milenyumu geçmesine" izin verdi.
Yıllık "küçük hedef" sonunda 60 milyarı aşacak Film piyasası hangi yeni zorluklarla karşılaşacak?
To Top