qq_14961647 2025-08-29 16:14 采纳率: 0%
浏览 13

有没有FPGA工程师想来石家庄工作的?

央企招人,河北石家庄,想回河北或者来石家庄发展的可以考虑一下。
射频微波及相控阵产品需要FPGA开发人员支持,主要实现上位机发送指令,按指令内容快速响应,控制射频硬件实现所需功能,详细如下:
岗位职责:

  1. 全流程参与对接项目、器件选型、原理图绘制、硬件程序编写、仿真验证;
  2. 配合单机调试测试,完整、可靠的实现所需功能;
    任职要求:
  3. 过往工作有射频产品、相控阵等项目实践及落地经验;
  4. 熟悉A3P,K7,zynq等FPGA的开发;
  5. 能熟练使用SPI、LVDS、RS422等通信协议;
  6. 加分项:熟练使用AD等PCB设计软件,了解射频产品开发流程,对微波有一定理解,接触过STM32、MCU开发;
  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2025-08-29 16:15
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    如果你是FPGA工程师,并且正在寻找在石家庄工作的机会,尤其是央企背景的岗位,这是一个非常值得考虑的机会。以下是对该岗位的详细分析和建议:


    一、岗位亮点

    1. 央企背景:工作稳定,福利待遇较好,职业发展路径清晰。
    2. 技术方向明确:专注于射频微波及相控阵产品,这是当前通信、雷达、电子对抗等领域的热门方向。
    3. 技术要求全面:涵盖从器件选型、原理图设计、硬件编程、仿真验证调试测试的全流程。
    4. 薪资待遇优厚:由于技术门槛高、项目复杂度大,一般会有较高的薪资水平。

    二、岗位职责详解

    • 全流程参与对接项目:包括需求分析、方案设计、开发实现、测试验收等环节。
    • 器件选型与原理图绘制:需要具备一定的硬件设计能力,如使用AD(Altium Designer)进行PCB设计。
    • 硬件程序编写与仿真验证:主要使用FPGA开发工具(如Vivado、Quartus等),进行逻辑设计与功能仿真。
    • 配合单机调试测试:确保系统稳定运行,具备良好的问题定位与解决能力。

    三、任职要求分析

    核心要求

    • 射频产品、相控阵项目经验:有相关项目落地经验者优先。
    • 熟悉A3P、K7、Zynq等FPGA开发:这些是Xilinx常用的FPGA型号,适用于高性能、低延迟的应用场景。
    • 掌握SPI、LVDS、RS422等通信协议:这些是常见的高速通信接口,用于FPGA与外部设备(如射频模块、MCU)之间的数据交互。

    加分项

    • 熟练使用AD等PCB设计软件:提升整体系统设计能力。
    • 了解射频产品开发流程:有助于理解整个系统架构。
    • 接触过STM32、MCU开发:有助于协同开发,实现软硬件结合。

    四、适合人群

    • 想要回到河北或石家庄发展的FPGA工程师
    • 射频、相控阵、雷达、通信系统相关项目经验的人员。
    • 希望在央企平台上积累项目经验、提升技术水平的人士。

    五、求职建议与准备步骤

    1. 完善简历

      • 突出射频/相控阵项目经验
      • 明确列出FPGA开发经验(如使用过的型号、开发工具、通信协议等)。
      • 添加PCB设计、MCU开发等技能。
    2. 准备面试资料

      • 准备FPGA开发案例(如某次项目中的逻辑设计、通信协议实现等)。
      • 复习射频基础知识(如信号传输、天线设计、调制解调等)。
    3. 联系招聘渠道

      • 通过智联招聘、猎聘、BOSS直聘等平台搜索“石家庄 FPGA工程师”相关岗位。
      • 关注央企官网招聘公众号,如中国电子科技集团、中电科54所、中电科13所等单位可能有相关岗位。
    4. 提前了解公司背景

      • 查阅目标公司的业务范围、研发方向、企业文化,增强面试时的针对性。

    六、示例代码(FPGA控制射频模块)

    以下是一个基于Zynq UltraScale+ MPSoC的简单FPGA控制逻辑,用于通过SPI接口与射频模块通信:

    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.NUMERIC_STD.ALL;
    
    entity spi_control is
        Port (
            clk : in STD_LOGIC; -- 主时钟
            rst_n : in STD_LOGIC; -- 复位
            spi_sclk : out STD_LOGIC; -- SPI时钟
            spi_mosi : out STD_LOGIC; -- SPI数据输出
            spi_miso : in STD_LOGIC; -- SPI数据输入
            spi_cs_n : out STD_LOGIC; -- 片选信号
            cmd : in STD_LOGIC_VECTOR(7 downto 0); -- 控制命令
            done : out STD_LOGIC -- 通信完成标志
        );
    end entity;
    
    architecture Behavioral of spi_control is
        signal state : integer range 0 to 8 := 0;
        signal bit_count : integer range 0 to 7 := 0;
        signal shift_reg : std_logic_vector(7 downto 0) := (others => '0');
        signal data_out : std_logic_vector(7 downto 0) := (others => '0');
        signal sclk_div : integer := 0;
    begin
        process(clk, rst_n)
        begin
            if rst_n = '0' then
                state <= 0;
                bit_count <= 0;
                shift_reg <= (others => '0');
                data_out <= (others => '0');
                spi_sclk <= '0';
                spi_cs_n <= '1';
                done <= '0';
            elsif rising_edge(clk) then
                case state is
                    when 0 =>
                        if cmd /= "00000000" then
                            state <= 1;
                            spi_cs_n <= '0';
                            data_out <= cmd;
                            bit_count <= 0;
                        end if;
                    when 1 =>
                        sclk_div <= sclk_div + 1;
                        if sclk_div = 1 then
                            sclk_div <= 0;
                            spi_sclk <= '1';
                            shift_reg <= data_out(7) & shift_reg(7 downto 1);
                            bit_count <= bit_count + 1;
                            if bit_count = 7 then
                                state <= 2;
                            end if;
                        end if;
                    when 2 =>
                        sclk_div <= sclk_div + 1;
                        if sclk_div = 1 then
                            sclk_div <= 0;
                            spi_sclk <= '0';
                            if bit_count = 7 then
                                state <= 3;
                            end if;
                        end if;
                    when 3 =>
                        spi_cs_n <= '1';
                        done <= '1';
                        state <= 0;
                    when others =>
                        state <= 0;
                end case;
            end if;
        end process;
    
        spi_mosi <= shift_reg(7);
    end architecture;
    

    说明:以上代码为一个简单的SPI控制模块,用于发送控制指令给射频模块。实际应用中需根据具体射频芯片的通信协议进行调整。


    七、总结

    如果你是FPGA工程师,并且对射频、相控阵、雷达系统感兴趣,石家庄的央企岗位是一个非常好的选择。它不仅提供了稳定的工作环境,还能让你深入参与到高端通信系统的研发中。

    建议你尽快准备简历,积极投递,并关注相关招聘渠道,争取早日加入这样的团队!

    评论

报告相同问题?

问题事件

  • 创建了问题 8月29日